matplotlib中文显示乱码原因:
matplotlib默认不支持中文字符,而默认的英文字体无法显示中文。
解决方式一:
用font_manager处理,可以指定你想要的字体: 1.导入font_manage 2.返回字体 3.只要有用到中文字符的地方都要加入字体参数font_properties,如刻度有用到中文,就要加此参数;在标题有用到中文,也要加此参数…
例子:
import matplotlib
.pyplot
as plt
from matplotlib
import font_manager
myfont
= font_manager
.FontProperties(fname
= "字体文件路径")
plt
.xticks(font_properties
= myfont
)
plt
.xlabel("标题", font_properties
= myfont
)
解决方式二:
修改matplotlib底层的字体库(基于windows): 这是一个一劳永逸的办法,不像方法一,每用一次中文字符需要加一次参数。用这个方法只需要每次重新运行软件时,输入6里面的代码就行了。 1.找到mpl-data文件夹 2.mpl-data\fonts\ttf里放进字体文件,如simhei.ttf 3.修改mpl-data文件夹里matplotlibrc文件,保存 4.删除.matplotlib下的缓存文件 5.restart一下 6.代码里加一句plt.rcParams[‘font.sans-serif’]=[‘SimHei’]
plt
.rcParams
['font.sans-serif']=['SimHei']