Python: WIndows系统 findfont: Font family ['sans-serif'] not found解决方法


当前利用python来进行科学计算的案例越来越多,不过我们在使用时,针对python对中文字体的支持很多时候,很难一次性配置完美。

通常的报错信息是:findfont: Font family [‘sans-serif’] not found的错误

我也在最近重装系统后碰到了;原因第一是中文字体缺失,第二是python 模块配置问题。

如何解决呢?

1)此方法针对Simhei字体为例
我们可以百度搜索,将下载下来的字体解压出来。或者从这个网址直接下载FontZone

(2)将字体文件复制到对应文件夹

针对Spyder或jupyter notebook,我们可以输入以下命令,得到

import matplotlib
print(matplotlib.matplotlib_fname())

得到字体路径,并将解压出来的字体文件移动到字体路径中,一般是:D:\ProgramData\Anaconda3\lib\site-packages\matplotlib\mpl-data\fonts\ttf

(3)设置matplotlib配置文件
清空缓冲目录里面的文件, 删除 ~/.cache/matplotlib的缓冲目录  (Windows内是 C:\Users\xxxxxx\.matplotlib)
修改D:\ProgramData\Anaconda3\lib\site-packages\matplotlib\mpl-data 里面的matplotlibrc文件,修改如下:

font.family : sans-serif
font.sans-serif : SimHei, Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif
axes.unicode_minus,将True改为False,作用就是解决负号'-'显示为方块的问题

然后重启一下Python内核就可以了,不用重启电脑。

 

重启python  (jupyter notebook)

就是在CMD中重新加载jupter 就可以使用了。




免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM