当我将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.youkuaiyun.com/kuwola/article/details/122409200
https://blog.51cto.com/welcomeweb/5539966
https://www.cnblogs.com/houfei/p/13489409.html