解决使用matplotlib输出中文乱码的问题

当我将windows运行好好的代码放到linux系统是时,会报找不到相应字体的错误,输出的图片也是乱码。通过查找资料知道,Windows的字体在linux上很多都是不支持的。需要使用Linux上适合的字体。
这几个是我查找资料找到的Linux比较知名的开源字体。
文泉驿微米黑(WenQuanYi Micro Hei):一种开源字体,提供中文字符支持。
思源宋体(Source Han Serif):一套开源的中文字体,支持简体和繁体字。
思源黑体(Source Han Sans):一套开源的中文字体,支持简体和繁体字。
文鼎新宋体(AR PL New Sung):一种免费的中文字体,提供宋体风格的字形。在这里插入图片描述
如果想查看自己的操作系统上面支持哪些字体,可以通过一下代码查看:

fc-list :lang=zh

在这里插入图片描述
之前这里应该是没有的,我已经把相关字体下载下来了。如果需要下载,可以通过以下命令安装字体。

sudo yum install wqy-microhei-fonts

下面我通过文泉驿微米黑字体进行演示:
如果想要知道自己的拥有哪种语言,可以通过运行以下Python代码进行查看:

from matplotlib.font_manager import FontManager
 
mpl_fonts = set(f.name for f in FontManager().ttflist)
 
print('all font list get from matplotlib.font_manager:')
for f in sorted(mpl_fonts):
    print('\t' + f)

在这里插入图片描述
在这里我们看到了 WenQuanYi Micro Hei字体,也就是我们之前安装的字体。

# 设置中文字体
plt.rcParams['font.sans-serif'] = 'WenQuanYi Micro Hei'

通过设置成支持的字体,就可以正常 运行代码了。
在这里插入图片描述
参考文献:
https://blog.csdn.net/kuwola/article/details/122409200
https://blog.51cto.com/welcomeweb/5539966
https://www.cnblogs.com/houfei/p/13489409.html

猜你喜欢

转载自blog.csdn.net/biyn9/article/details/131181527