一、场景说明:生成图表时相关中文成为了乱码显示不正常,网上的方法很多,但还是总结一下!
二、场景代码:
import matplotlib.pyplot as plt
#以下两段注释代码可临时解决
#plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
#plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
squares=[1,4,9,16,25]
plt.plot(squares,linewidth=5)
plt.title("标题定义",fontsize=24)
plt.xlabel("X轴Label",fontsize=20)
plt.ylabel("Y轴Label",fontsize=20)
plt.show()
三、问题场景:如果未做任何处理的话则会生成如下图像,其中的中文都成为了符号;
四:解决方法步骤:
1、通过如下代码找到matplotlib配置文件路径:
import matplotlib
print(matplotlib.matplotlib_fname())
2、找到该目录下的 matplotlibrc 文件并且以文本的方式打开;
3、删除 font.family 与 font.sans-serif 两行前的#注释;
4、在 font.sans-serif 后添加(,隔开) Microsoft YaHei ;
5、将 font.family
后的 sans-serif 改为 Microsoft YaHei
.matplotlib/cache里面的两个缓存字体文件(;
6、下载微软雅黑字体并且放到当前目录下fonts tf中的字体目录中;(
)下载地址:http://font.chinaz.com/940144340.htm
7、删除C:Users你的用户名.matplotlib 下的一个文件夹和一个文件,每次用到matplotlib时不存在会自动生成);
(补充:解决方法都来自于前人经验、只是这几个步骤更适用于自己,所以进行相关记录备注!)
五、正确效果: