原因:Linux下python matplotlib生成的图表中文都是方框。由于有过在windows下的经验,直觉是字体库的问题,在Windows下:
windows中自带字体名词
在Windows下解决办法:
import matplotlib as mpl
mpl.rcParams['font.sans-serif'] = ['KaiTi']
mpl.rcParams['font.serif'] = ['KaiTi']
直接在Linux服务器上查看并解决:
yum install -y fontconfig ttmkfdir
- 在/usr/share/fonts下创建中文字体文件夹
cd /usr/share/fonts
mkdir chinese
将windows下的字体文件上传到/usr/share/fonts/chinese下
目录权限加上可读可执行的权限。
chmod -R 755 /usr/share/fonts/chinese
- 搜索目录中所有的字体信息,并汇总生成fonts.scale文件
ttmkfdir -e /usr/share/X11/fonts/encodings/encodings.dir
修改字体配置文件
vim /etc/fonts/fonts.conf
把我们刚创建的中文字体目录添加进去保存退出
刷新内存中的字体缓存
fc-cache
验证:
fc-list :lang=zh