本文主要是介绍解决Font family [‘sans-serif’] not found问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
- 序言
- 一、字体下载
- 二、删除 matplotlib 缓存文件
- 三、matplotlib配置修改
- matplotlibrc 文件修改内容
- 参考链接
序言
以下测试环境都是在 anaconda3 虚拟环境下执行。
激活虚拟环境
conda activate test_python_env
或
source activate test_python_env
工具:
WinSCP
Visual Studio Code
这里笔者使用 WinSCP 工具连接,编辑工具是 Visual Studio Code
一、字体下载
字体文件个人免费下载链接: (感觉这个怕是爬了官网的文件,拿来主义,对比了一下两个网站的字体文件,一样的 tff 文件)
[ SimHei] 字体免费下载
官网免费下载:(这个需要开个 vpn,否则没有图像识别验证,是不会下载字体文件的)
Download SimHei Font
在指定的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 文件
准备修改的位置 1:
准备修改的位置 2:
matplotlibrc 文件修改内容
- 第 249 行 修改
#font.family: sans-serif
取消注释,删除井号 #
font.family: sans-serif
第 256 行 修改
#font.serif: DejaVu Serif,...
取消注释,删除 #font.serif 前面的井号#,并添加 Simhei, 记得 Simhei 后加英文逗号
font.serif: SimHei, DejaVu Serif,...
- 第 400 行 修改
#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解决方法
这篇关于解决Font family [‘sans-serif’] not found问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!