python matplotlib.plot画图显示中文乱码的问题

在matplotlib.plot生成的统计图表中,中文总是无法正常显示。在网上也找了些资料,说是在程序中指定字体文件,不过那样的话需要对plot进行很多设置,而且都是说的设置坐标轴标题为中文,有时候图例的字体也无法改正。

原因:matplotlib默认字体并不是中文字体。

解决方法:将某中文字体设为默认首选字体,本文拟将默认字体设为 微软雅黑 。

环境:win7 x64, python2.7

过程:

  1. 在python的安装目录中找到配置文件:%Python_Home%Libsite-packagesmatplotlibmpl-datamatplotlibrc    (如,我的是在D:Python32Libsite-packagesmatplotlibmpl-data),用任意文本编辑器打开。(最好先备份一下)
  2. 找到第129行:#font.family, 将其注释去掉,冒号后面的值改为Microsoft YaHei
  3. 找到第141行:#font.sans-serif, 将其注释去掉,并将Microsoft YaHei添加到冒号后面的最前面,注意还要再加一个英文逗号(,)
  4. 为保险其间,到C:WindowsFonts中找到 微软雅黑对应的字体文件msyh.ttf,将其复制到D:Python32Libsite-packagesmatplotlibmpl-datafonts tf目录下
  5. 将软件关闭后重新打开,运行程序,显示正常。
原文地址:https://www.cnblogs.com/xiaohua92/p/5528093.html