系统Ubuntu16.04
Python版本:3.5.2
matplotlib: 2.2.2

设置plt.title(“随机散点图”) 图例标题文字是中文时候,会显示不出来。

解决方法:

第一步:

下载微软雅黑字体, 资源链接: http://p7u7ikgiw.bkt.clouddn.com/msyh.ttf

将该字体放在系统字体文件夹下:/usr/share/fonts
复制一份再放到matplotlib的字体文件夹下:/usr/local/lib/python3.5/dist-packages/matplotlib/mpl-data/fonts/ttf/

第二步:

打开matplotlib配置文件:sudo gedit /usr/local/lib/python3.5/dist-packages/matplotlib/mpl-data/matplotlibrc

查找到font.family和font.sans-serif两行,删除掉前面的#,

然后在font.sans-serif后添加中文字体Microsoft YaHei, …(其余不变)

如图:

然后找到:

1
axes.unicode_minus:False

解决负号显示为方块的问题

改为False,作用是解决负号’-‘显示为方块的问题

第三步:

进入到matplotlib的缓存目录,并删除所有缓存文件:

1
2
cd ~/.cache/matplotlib/
rm -rf *.cache

确定进入matplotlib的缓存目录后再用rm -rf删除

删除以后重新打开Python文件,再设置plt.title(“随机散点图”),就可以正常显示中文了。

PS 如果还是不可以,就把Python重新编译一遍

方法来自: https://www.zhihu.com/question/25404709