windows10 anaconda下,使用matplotlib画图,图例和坐标轴输出中文乱码的解决办法

参考链接:https://www.zhihu.com/question/25404709(如有侵权,请联系我,立马删除)

考虑到anaconda可以正常输出中文字符,但是使用matplotlib画图时,图例和坐标轴就是会出现乱码,猜测是matplotlib设置的问题。

一.使用的硬件和软件版本

电脑系统:Win10

软件:anaconda 3.5.1

python:3.6

二.找到matplotlib设置字体文件的目录

在Anaconda Prompt上输入以下三行指令

python

import matplotlib

matplotlib.matplotlib_fname()

windows10 anaconda下,使用matplotlib画图,图例和坐标轴输出中文乱码的解决办法_第1张图片

 

得到:D:\\anaconda\\lib\\site-packages\\matplotlib\\mpl-data\\matplotlibrc(在实际过程中,我是在其他目录下也找到了这个文件,路径为D:\anaconda\pkgs\matplotlib-2.1.2-py36h016c42a_0\Lib\site-packages\matplotlib\mpl-data\matplotlibrc)

三.修改matplotlibrc文件

使用notepad++打开文件,在199行,先把该行注释去掉,然后在将font.family 设置SimHei,如下图所示,改完记得保存。

 

运行画图程序,出现 UserWarning: findfont: Font family ['SimHei'] not found. Falling back to DejaVu Sans,依然是中文乱码。于是在该路径下D:\anaconda\Lib\site-packages\matplotlib\mpl-data\fonts\ttf,查找SimHei,发现并没有这一款字体,google搜索,下载地址为http://www.xiazaiziti.com/210356.html,再将下载好的字体放到ttf目录下。

四.效果展示

这个时候要记得先将spyder关闭,然后重新打开,配置文件的变量生效,亲测有效。

 

windows10 anaconda下,使用matplotlib画图,图例和坐标轴输出中文乱码的解决办法_第2张图片

 

你可能感兴趣的:(windows10 anaconda下,使用matplotlib画图,图例和坐标轴输出中文乱码的解决办法)