python matplotlib.plot画图显示中文乱码的问题
Posted 张之逸
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python matplotlib.plot画图显示中文乱码的问题相关的知识,希望对你有一定的参考价值。
在matplotlib.plot生成的统计图表中,中文总是无法正常显示。在网上也找了些资料,说是在程序中指定字体文件,不过那样的话需要对plot进行很多设置,而且都是说的设置坐标轴标题为中文,有时候图例的字体也无法改正。
原因:matplotlib默认字体并不是中文字体。
解决方法:将某中文字体设为默认首选字体,本文拟将默认字体设为 微软雅黑 。
环境:win7 x64, python2.7
过程:
- 在python的安装目录中找到配置文件:%Python_Home%\Lib\site-packages\matplotlib\mpl-data\matplotlibrc (如,我的是在D:\Python32\Lib\site-packages\matplotlib\mpl-data),用任意文本编辑器打开。(最好先备份一下)
- 找到第129行:#font.family, 将其注释去掉,冒号后面的值改为Microsoft YaHei
- 找到第141行:#font.sans-serif, 将其注释去掉,并将Microsoft YaHei添加到冒号后面的最前面,注意还要再加一个英文逗号(,)
- 为保险其间,到C:\Windows\Fonts\中找到 微软雅黑对应的字体文件msyh.ttf,将其复制到D:\Python32\Lib\site-packages\matplotlib\mpl-data\fonts\ttf\目录下
- 将软件关闭后重新打开,运行程序,显示正常。
以上是关于python matplotlib.plot画图显示中文乱码的问题的主要内容,如果未能解决你的问题,请参考以下文章
python使用matplotlib可视化线图(line plot)并为可视化图像添加图例(legend)信息(add legend to matplotlib plot)
python使用matplotlib可视化线图(line plot)在可视化图像中的指定位置添加竖线(add vertical line in matplotlib plot)
python使用matplotlib可视化线图(line plot)并自定义设置可视化图像中添加网格线(add grid line in matplotlib plot result)
Python Matplotlib.plot Update image Questions
python使用matplotlib可视化线图(line plot)在可视化图像中的指定位置添加横线(add horizontal line in matplotlib plot)
python使用matplotlib可视化线图(line plot)并自定义设置可视化图像中没有网格线(remove grid line in matplotlib plot result)