当我在Manjaro中使用Matplotlib作图时候,会发现中文的图例变成了小方块,现在记录一下解决方法。
将windwos中fonts目录下的simhei.ttf拷贝到/.../lib/python2.7/site-packages/matplotlib/mpl-data/fonts/ttf(文件路径根据实际情况修改)目录中,
删除~/.cache/matplotlib的缓冲目录
在代码中动态设置参数:
1
2
3
4
5
6
7
8
9
10
11#coding:utf-8
import matplotlib
matplotlib.use('qt4agg')
#指定默认字体
matplotlib.rcParams['font.sans-serif'] = ['SimHei']
matplotlib.rcParams['font.family']='sans-serif'
#解决负号'-'显示为方块的问题
matplotlib.rcParams['axes.unicode_minus'] = False
plt.plot([-1,2,-5,3])
plt.title(u'中文',fontproperties=myfont)
plt.show()