欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Python Matplotlib 画图显示中文

程序员文章站 2022-03-09 20:30:56
...

Python Matplotlib 画图显示中文

在我们用python画图的时候,有时候python内部是显示不出中文的,那么我们有一种方法可以解决这个问题,不用我们全部转化为英文(当然转化为英文可能更高级一点 )

第一种方法

首先我们可以利用python的matplotlib配置参数就可以实现我们的中文显示

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['figure.figsize'] = (10.0, 8.0)  # set default size of plots
plt.rcParams['image.interpolation'] = 'nearest'
plt.rcParams['image.cmap'] = 'gray'

其实很多就这样简单的显示了中文,因为只要我们配置完成,就可以成功显示了我们的中文。

第二种方法

但是我是在服务器上,所以我无法配置到这种字体,所以我可以怎么做呢,首先,我去下载了SimHei字体,然后导入到我的服务器中,接着用以下代码用到我的画图中,但是可能会比较繁琐,如果在自己的本地服务器中,可以考虑不用这种方法。

import matplotlib.font_manager as fm

myfont = fm.FontProperties(fname=r'SimHei.ttf') # 设置字体
plt.plot(days['Time'],days['下行利用率PDSCH'],color='r',label='1')
plt.xlabel('显示中文',fontproperties=myfont)

这样就可以显示中文了,这个中文是我们内存中的字体,我们可以下载我们的字体然后设置上去是可以的。

第三种方法

当然,如果我们内部就有字体,我们就不用那么丑陋的方法

import matplotlib.font_manager as fm

plt.plot(days['Time'],days['下行利用率PDSCH'],color='r',label='1')
plt.xlabel('显示中文',fontproperties='SimHei')

这只是作图的一点想法,如果有更好的方法,还会加上去,也希望互相印证讨论。