Matplotlib系列—pyplot的中文显示
方法一(建议使用)
在有中文输出的地方,增加一个属性:fontproperties
例子:
import matplotlib.pyplot as plt
import numpy as np
a = np.arange(0.0,5.0,0.02)
plt.xlabel('横轴:时间',fontproperties = 'SimHei',fontsize = 20)
plt.ylabel('纵轴:振幅',fontproperties = 'SimHei',fontsize = 20)
plt.plot(a,np.cos(2*np.pi*a),'r--')
plt.show()
运行结果:
方法二
使用rcParams修改字体来实现(修改全局字体)
例子:
import matplotlib
import matplotlib.pyplot as plt
matplotlib.rcParams['font.family'] = 'SimHei'
plt.plot([3,1,4,5,2])
plt.ylabel("纵轴(值)")
plt.savefig('test2',dpi=600)
plt.show()
运行结果:
rcParams的属性:
属性 | 说明 |
---|---|
font.family | 用于显示字体的名称 |
font.style | 字体风格,正常’normal’或斜体’italic’ |
font.size | 字体大小,整数字号或者’large’、’x-small’ |
font.family的属性值:
属性值 | 说明 |
---|---|
SimHei | 中文黑体 |
Kaiti | 中文楷体 |
Lisu | 中文隶书 |
FangSong | 中文仿宋 |
YouYuan | 中文幼圆 |
STSong | 华文宋体 |
例子:
import matplotlib
import matplotlib.pyplot as plt
import numpy as np
matplotlib.rcParams['font.family'] = 'STSong'
matplotlib.rcParams['font.size'] = 20
a = np.arange(0.0,5.0,0.02)
plt.xlabel('横轴:时间')
plt.ylabel('纵轴:振幅')
plt.plot(a,np.cos(2*np.pi*a),'r--')
plt.show()
运行结果:
参考资料:北京理工大学嵩天老师教学视频