在matplotlib.plot生成的统计图表中,中文总是无法正常显示。在网上也找了些资料,说是在程序中指定字体文件,不过那样的话需要对plot进行很多设置,而且都是说的设置坐标轴标题为中文,有时候图例的字体也无法改正。
原因:matplotlib默认字体并不是中文字体。
解决方法:将某中文字体设为默认首选字体,本文拟将默认字体设为 微软雅黑 。
环境:win7 x64, python2.7
过程:
- 在python的安装目录中找到配置文件:%Python_Home%Libsite-packagesmatplotlibmpl-datamatplotlibrc (如,我的是在D:Python32Libsite-packagesmatplotlibmpl-data),用任意文本编辑器打开。(最好先备份一下)
- 找到第129行:#font.family, 将其注释去掉,冒号后面的值改为Microsoft YaHei
- 找到第141行:#font.sans-serif, 将其注释去掉,并将Microsoft YaHei添加到冒号后面的最前面,注意还要再加一个英文逗号(,)
- 为保险其间,到C:WindowsFonts中找到 微软雅黑对应的字体文件msyh.ttf,将其复制到D:Python32Libsite-packagesmatplotlibmpl-datafonts tf目录下
- 将软件关闭后重新打开,运行程序,显示正常。