在使用matplotlib的时候,发现了matplotlib无法支持中文的一个问题。
1 | import matplotlib.pyplot as plt |
结果图:
有两个方法解决他:
- 直接在开头时改变整个脚本的显示字体:
matplotlib.rcParams['font.sans-serif'] = ['SimHei']
当然这个SimHei是可以自己改的。
例子:1
2
3
4
5
6
7
8
9
10import matplotlib.pyplot as plt
matplotlib.rcParams['font.sans-serif'] = ['SimHei']
x = [1,2,3,4,5,6,7,8]
y = [1,2,3,4,5,6,7,8]
plt.plot(x, y)
plt.title(u'测试程序')
plt.xlabel(u'x轴')
plt.ylabel(u'y轴')
plt.grid(True)
plt.show()
结果图:
- 也可以动态的决定每个显示时的字体:
例子:1
2
3
4
5
6
7
8
9
10
11import matplotlib.pyplot as plt
font = matplotlib.font_manager.FontProperties(fname='C:\Windows\Fonts\simsun.ttc')
font1 = matplotlib.font_manager.FontProperties(fname='C:\Windows\Fonts\mingliu.ttc')
x = [1,2,3,4,5,6,7,8]
y = [1,2,3,4,5,6,7,8]
plt.plot(x, y)
plt.title(u'测试程序',fontproperties=font1)
plt.xlabel(u'x轴', fontproperties=font)
plt.ylabel(u'y轴', fontproperties=font)
plt.grid(True)
plt.show()
结果图:
这个图里的’测试程序’和’x轴’是两种字体,也就是说我们可以任意改变每一个label的字体啦。