matplotlib图例中文参数乱码
系统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 | cd ~/.cache/matplotlib/ |
确定进入matplotlib的缓存目录后再用rm -rf删除
删除以后重新打开Python文件,再设置plt.title(“随机散点图”),就可以正常显示中文了。
PS 如果还是不可以,就把Python重新编译一遍