matplotlib中文显示问题

前言

之前的文章提到,matplotlib绘制的图片中使用中文,还是会显示乱码,遂欲解决之。

问题和处理过程

问题的根源是matplotlib使用的字体库和jupyter的不一致,需要重新配置,所以需要安装对应的字体和配置好字体设置即可。

安装中文字体

安装文泉驿中文字体就行

$ sudo apt install fonts-wqy-microhei -y

配置matplotlib的字体

通过下面的python脚本打印字体缓存的位置:

import matplotlib as plt
print(plt.get_cachedir() + '/fontlist-v330.json') 

然后把这个文件删除掉。

通过下面python脚本列出当前支持的字体:

from matplotlib.font_manager import fontManager
[f.name for f in fontManager.ttflist if 'hei' in f.name.lower()]

不出意外应该能够显示文泉驿中文字体。

在matplotlib中使用中文字体

在import matplot后设置matplot的字体即可:

import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif'] = ['WenQuanYi Micro Hei'] 
plt.rcParams['axes.unicode_minus'] = False 

...

效果

到现在为止,python数字信号处理部分的文档导出已经可以完全支持中文了,舒服了。


EOF

Comments