matplotlib是python中常用的绘图库,默认并不支持中文显示,因此在不经过修改的情况下,无法正确显示中文,会出现如下图所示的乱码。本文将介绍几种解决matplotlib乱码的方法
方法一:rcParams
rcParams是matplotlib的配置参数,它返回一个配置字典。
在import matplotlib.pyplot as plt后加上
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
实例一
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
plt.plot((1,2,3),(4,5,7))
plt.xlabel('横坐标')
plt.ylabel('纵坐标')
plt.show()
方法二:fontproperties
当我们在用title、xlabel、ylabel等指定标签时,通常都有一个fontproperties属性来设置字体类型
所以你可以通过如下方式,设置局部字体属性
plt.title(u'各登船口岸上船人数',fontproperties='SimHei')
SimHei表示黑体,这种方式的缺点是某些plt命令没有这个属性,导致显示不一致
实例二
import matplotlib.pyplot as plt
plt.plot((1,2,3),(4,5,7))
plt.xlabel('横坐标',fontproperties='SimHei')
plt.ylabel('纵坐标',fontproperties='SimHei')
plt.show()
下面附上一些汉字的英文表示
参考:
https://www.jb51.net/article/134546.htm
https://xuui.net/ui-design/english-name-of-chinese-characters-table.html