matplotlib图例中文乱码

第1步,找到配置文件

我们可以用下面的代码找到 matplotlib 加载的配置文件路径。

import matplotlib
matplotlib.matplotlib_fname()

在这里插入图片描述
第2步,下载文件到指定路径
simhei下载的两个路径,我都加了
http://www.font5.com.cn/zitixiazai/1/151.html
https://www.wfonts.com/font/simhei

matplotlib图例中文乱码_第1张图片
第3步,修改配置文件
先备份matplotlibrc,避免修错了,找不回原来的配置

修改内容:
去掉 font.family 和 font.sans-serif 前面的 #
font.sans-serif 加上 SimHei

坐标轴的负号异常:
去掉 axes.unicode_minus 前面的 #,同时将值修改为False

font.family         : sans-serif        
font.sans-serif     : SimHei, simhei,  Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif   axes.unicode_minus:False,#作用就是解决负号'-'显示为方块的问题

第4步,激活
最重要的一步来了,上面的几步我很快就弄好了,就这最后一步死活中文就是显示方块,气死我了,原因是改了配置之后并不会生效,需要重新加载字体,在Python中运行如下代码即可

from matplotlib.font_manager import _rebuild

_rebuild() #reload一下

就改好啦,这样默认字体就显示成中文啦,之后也不需要在代码里面添加额外的代码去设定语言,简直棒棒哒。说真的,我都有点佩服我自己,午饭都没吃。

第5步,对比查看

matplotlib图例中文乱码_第2张图片
matplotlib图例中文乱码_第3张图片

你可能感兴趣的:(Python3)