ISSUE - Matplotlib doesn't support Chinese
问题描述
Matplotlib无法识别中文字符的Unicode,调用plot.show()函数后,原中文字符处由方框代为显示。

*运行环境:Ubuntu 20.04 LTS,Python 3.10.,matplotlib 3.8.3
解决方法
手动下载支持Unicode中文解码的字体,给出几个例子:
- 简体中文 SimSun.ttf
- 黑体 HeiTi.ttf
- 雅黑 Yahei.ttf
- …
注意,如果使用ttf-microsoft-installer提供的fc-match指令,是无法下载上文描述的字体ttf文件的,为避免后续麻烦,最好手动下载。
- 下载完执行如下指令,将字体复制到你的matplotlib中:
1 | path2ttf=$(find | grep -m 1 "SIMSUN.ttf") |
刷新你的matplotlib font manager cache,自行创建一个scritp.py并将下述命令键入并执行:
1
2import matplotlib.font_manager
matplotlib.font_manager._load_fontmanager(try_read_cache=False)matplotlib可以解释中文了

Referrence Links
Refresh matplotlib font manager cache
Download SimSun.ttf for free