其实有很多朋友已经总结得很好了:Ubuntu下让matplotlib显示中文字体_ubuntu matplot 使用汉字-CSDN博客
这里我就是简单补充一下:
按照上面这篇博客,下载:GitHub - tracyone/program_font: fonts for programmer 然后运行:
cd program_font
./install.sh
可以看到/usr/share/fonts/MyFonts(这个文件夹也是新增的)下有很多字体。很多朋友说把字体拷贝到matplotlib目录下,例如我这里:/home/quyu/anaconda3/envs/TranAD/lib/python3.8/site-packages/matplotlib/mpl-data/fonts,但是个人感觉应该放到这个fonts文件夹的ttf目录下。
另外,上面那篇博客也说了,需要指定字体的名字(上面博客有typo):
import matplotlib.pyplot as plt
font_name = "SimHei"
plt.rcParams['font.family']= font_name
但是有些字体,我们看字体文件名是看不出来的,例如那个GitHub里面的YaHei.Consolas.1.11b.ttf,这时候应该怎么办呢,观察一下/.cache/matplotlib目录,发现新增的文件就是一个json文件,例如fontlist-v330.json,打开以后可以看到:
{
"fname": "/usr/share/fonts/MyFonts/YaHei.Consolas.1.11b.ttf",
"name": "YaHei Consolas Hybrid",
"style": "normal",
"variant": "normal",
"weight": 400,
"stretch": "normal",
"size": "scalable",
"__class__": "FontEntry"
},
这看起来就很清楚了,另外,从这个json看,是不是不拷贝到ttf目录下也能找到??这个我没测试,感兴趣的朋友可以试试!