序言
以下测试环境都是在 anaconda3 虚拟环境下执行。
激活虚拟环境
conda activate test_python_env
或
source activate test_python_env
工具:
WinSCP
Visual Studio Code
这里笔者使用 WinSCP 工具连接,编辑工具是 Visual Studio Code
一、字体下载
字体文件下载链接:
[ SimHei] 字体免费下载
在指定的python 环境下,运行如下命令:(比如是使用 anaconda3
下的 python 虚拟环境,自然得切换虚拟环境,使用虚拟环境的 python 解释器来运行)
import matplotlib
print(matplotlib.matplotlib_fname())
类似的路径如下所示:
然后把下载好的字体文件放到,这个路径下文件夹 ttf 里面(下载的字体文件后缀是 ttf
)
二、删除 matplotlib 缓存文件
需要清除缓存以及修改对应的配置才能生效
python 解释器下执行如下命令,获取 matplotlib 的缓存文件路径,使用 rm -rf 删除该缓存文件。
import matplotlib
matplotlib.get_cachedir()
bash 终端删除该缓存文件
三、matplotlib配置修改
用Visual Studio Code
打开 matplotlibrc 文件原样:
matplotlibrc 文件修改内容
- 修改
#font.family: sans-serif
取消注释,删除井号 #
font.family: sans-serif
#font.serif: DejaVu Serif,...
取消注释,删除#font.serif
前面的井号,并添加Simhei
font.serif: SimHei, DejaVu Serif,...
- 修改
#axes.unicode_minus: True
取消注释,删除#号,并将True改为False
axes.unicode_minus: False
最后也不用重启电脑,直接重新运行之前报错的程序就行了。
参考链接
1. 解决Font family [‘sans-serif‘] not found的问题
2. python中解决Font family [‘sans-serif’] not found问题
3. findfont: Font family [‘sans-serif‘] not found解决方法