matplotlib解决中文乱码

1字数 166阅读 273

Windows下

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号

plt.plot((1,2,3),(4,5,7))
plt.xlabel('横坐标')
plt.ylabel('纵坐标')
plt.show()

Linux下

由于Matplotlib只支持ttf字体,Linux的中文字体都为ttc格式,所以需要安装一个中文ttf字体,所以只要下载一个中文ttf格式的字体放在usr/share/fonts下,然后将配置文件修改一下默认的字体就可以了。

http://fontzone.net/download/simhei下载字体,然后进行安装。

删除matplotlib缓存文件:

$ cd ~/.cache/matplotlib
$ rm -rf *.*

同样地使用最前面的代码进行测试。

写中文字符最好以u'中文字'的形式。


参考:

推荐阅读更多精彩内容