相关推荐recommended
Ubuntu中matplotlib显示中文的方法
作者:mmseoamin日期:2024-02-24

其实有很多朋友已经总结得很好了: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目录下也能找到??这个我没测试,感兴趣的朋友可以试试!