python中matplotlib乱码问题

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

猜你喜欢

转载自blog.csdn.net/weixin_42474261/article/details/81633846