Matplotlib的中文显示,折腾了好久,总算是搞定了。
之前根据网上的教程配置了matplotlibrc
文件,却发现在jupyter notebook里使用%matplotlib inline
后画的图总是无法正确显示中文,后来发现原来是字体包找错了地方【给自己一个大大的微笑
特别记录一下修改的步骤,也方便后来人乘凉啦~
- 微软雅黑ttf字体一份 mysyh.ttf
- 通过命令
cat ~/.matplotlib/fontList.cache|grep Vera
找到fontList.cache
所读取的字体的路径
- 将该字体文件拷贝到上条命令所获取的fonts/ttf文件夹路径,在我的电脑上就是:
~/anaconda/lib/python2.7/site-packages/matplotlib/mpl-data/fonts/ttf
这里值得注意的是,之前我一直配置失败就是因为没有通过fontList.cache来查找字体的路径,把字体文件拷贝到了错误路径:
~/anaconda/pkgs/matplotlib-1.5.1-np111py27_0/lib/python2.7/site-packages/matplotlib/mpl-data/fonts/ttf
导致matplotlib画的图虽然可以显示中文,但保存为png格式时,仍然为方框。 - 接下来就是配置
yourPATH/matplotlib/mpl-data/matplotlibrc
的事啦,这里有一个小trick就是把下载的mysyh.ttf文件放入字体文件夹后重命名为Vera.ttf,这样不用配置matplotlibrc就能完美显示中文啦~