操作系统ubuntu20
一.注意事项
这个问题网上有很多教程,但因为我的另一个WIN10上面没有simhei.ttf字体,只有simsunb.ttf字体,我觉得都是简体中文,应该可以通用,但事实却是不可以(或许是我哪里搞错了),而且SimSunb这个字体在/home/xxx/.cache/matplotlib/fontlist-v330.json里显示的名称是SimSun-ExtB,如果在matplotlibrc配置文件里写成文件名simsunb会一直报找不到文件,simhei.ttf字体在/home/xxx/.cache/matplotlib/fontlist-v330.json里显示的名称是SimHei,在matplotlibrc配置文件里要写成SimHei,且要放在冒号后的第一个位置。
二.下载或从其他地方复制相关字体放到相应文件夹并修改配置文件
配置文件夹的路径查找方式是matplotlib.matplotlib_fname(),把字体文件(simhei.ttf)放置到/home/xxxx/.local/lib/python3.8/site-packages/matplotlib/mpl-data/fonts/ttf/文件夹里面。
修改配置文件/home/xxxx/.local/lib/python3.8/site-packages/matplotlib/mpl-data/matplotlibrc,改成下面的样子:
font.family : sans-serif
去掉前面的#
font.sans-serif : SimHei
去掉前面的#,并在冒号后面添加SimHei,我是把其他都删了。
axes.unicode_minus : False
去掉前面的#,并将True改为False
以后的程序里面就不用添加字体说明了。
三.清理缓存文件以更新字体列表
缓存文件的路径查找方式是matplotlib.get_cachedir(),
清理缓存文件的主要作用是重新生成字体列表fontlist-v330.json,后台程序会从很多个字体文件夹里面更新这个字体列表,所以我们只需要把相关字体文件放到/home/xxxx/.local/lib/python3.8/site-packages/matplotlib/mpl-data/fonts/ttf/文件夹里面后删除/home/xxx/.cache/matplotlib/这个文件夹。
四.重启pycharm或其他编辑器