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

Windows环境中python绘图显示中文字体解决方法

程序员文章站 2022-04-22 07:52:13
...

首先很高兴努力的您能光临我的小世界!!!

环境:Win 10; Anaconda; Tensorflow CPU; Python 3.5; Spyder;

重点代码:

import matplotlib
matplotlib.rc('font',family = 'SimHei',weight = 'bold')

1.遇到的问题:
Windows环境中python绘图显示中文字体解决方法
可以看出该图片不能显示中文,中文处显示乱码(方框)。
并且程序出现警告:

UserWarning: findfont: Font family ['SimHei'] not found. Falling back to DejaVu Sans
  (prop.get_family(), self.defaultFamily[fontext]))

2.分析及解决问题
环境中缺乏该字体,需要下载该该字体文件SimHei。下载路径和提取码如下:

链接:https://pan.baidu.com/s/1yDWLKgGGxtuR-aBfu8RKWg 
提取码:l2v6 

下载该文件并将该文件放在如下文件夹下:D:\anaconda\acript\pkgs\matplotlib-2.0.2-np113py35_0\Lib\site-packages\matplotlib\mpl-data\fonts\ttf

接下来重新运行自己的程序,图片立即显示中文,结果如下:
Windows环境中python绘图显示中文字体解决方法
该部分完整代码如下:


from matplotlib import pyplot as plt
import matplotlib

#设置显示中文字体
matplotlib.rc('font',family = 'SimHei',weight = 'bold')

#准备数据
x = range(2,26,2)
y = [15,13,14,5,17,20,25,26,24,22,18,15]

#绘图
plt.plot(x,y)
x_xticks = ['{}时'.format(i) for i in x]
plt.xticks(list(x),x_xticks,rotation = 45)
plt.show()

最后,感谢您能用心看到最后,希望我的点滴分享能给你带来便利,记录点滴,方便他人。
欢迎大家的批评指正!