解决Python 3下Matplotlib画图中文显示乱码的解决方法

问题描述:有时使用pyhton中的matplotlib绘图时,会出现乱码或者图中无法正确显示中文等问题。

解决:需要在程序中加入以下两行代码:

解决Python 3下Matplotlib画图中文显示乱码的解决方法

具体操作如下:

1.先选一个想要的字体(程序中选的是simkai--楷体常规),在计算机中找到该字体:进入C:\Windows\Fonts

 

解决Python 3下Matplotlib画图中文显示乱码的解决方法

这里选中楷体常规,点击右键-->属性,就可以看到楷体常规代表的就是simkai

解决Python 3下Matplotlib画图中文显示乱码的解决方法

2.然后在程序中定义Matplotlib的字体管理,这里将其命名为zhfont,代码如下:

import matplotlib.font_manager as fm

zhfont = fm.FontProperties(fname='C:\Windows\Fonts\simkai.ttf')

3.最后只要把刚才的字体文件复制到Matplotlib的字体文件夹中即可,所以只要把simkai.ttf文件复制到如下文件夹中就ok了。

D:\Anaconda3\envs\py36\lib\site-packages\matplotlib\mpl-data\fonts\ttf

我的环境名是py36,找到你自己安装的环境路径即可

复制到的目标文件夹是当前这个代码所使用的环境目录下的lib\site-packages\matplotlib\mpl-data\fonts\ttf

解决Python 3下Matplotlib画图中文显示乱码的解决方法

至此,就完成了关于中文字体不能在图中正常显示的问题了。

如有错误,请批评指正,谢谢。