一、 解决字体问题
很多文章都讲了matplotlib中文乱码的问题,但是有一个关键问题忽略了,就是字体拷贝的问题,这也是我会写这篇简书的原因。
我的环境:
os:deepin15.5 64位
python:anaconda2
- 找到win7下的字体
我找到的字体是 “ 仿宋GB2312.tff”,
重点 :
- 字符名并不是“仿宋GB2312.tff”,这是我总是出差的根源,打开该tff文件查看
- vim 仿宋GB2312.tff 虽然大部分是乱码,但是还是可以看见“(C) Copyright GreatWall Computer Co. 1994FangSong_GB2312RegularFangSong_GB2312”的字样,记住了说明这个字体的名称是“FangSong_GB2312”
- 拷贝字体
- 找到matplotlib的字符路径
我的环境是“anaconda2/lib/python2.7/site-packages/matplotlib/mpl-data/fonts/tff”
如果你不知道,可以ipython下用下面的命令找到matplotlibrc文件,fonts文件夹和这个文件同目录
>>> import matplotlib
>>> print matplotlib.matplotlib_fname()
二、 执行时用配置的方法解决中文问题
这部分很多文章讲了,这里就简单一点
mpl.rcParams['font.sans-serif'] = ['FangSong_GB2312']
如果出现:
UserWarning: findfont: Font family [u'sans-serif'] not found
这是字符名称没找到的问题, 请参考第一部分
三、修改配置文件,解决问题
请参考:
网友评论