解决matplotlib在MAC系统下中文字体显示问题报错:Font family [‘sans-serif‘] not found.Falling back to DejaVu Sans.


报错

findfont: Font family [u'sans-serif']notfound. Falling back to Bitstream Vera Sans 
这是因为matplotlib 是没有中文字体的,需要我们手动安装



在网上搜索了解到基本上大家都是在安装matplotlib后才会遇到报错,若我们mac上没有安装matplotlib 可以在python终端下输入 pip install matplotlib 进行安装

- 运行命令行终端,输入’python‘进入python编辑
- 输入 import matplotlib
- 输入 matplotlib.matplotlib_fname()
目录在 .../matplotlib/mpl-data/fonts/ttf中,前面的路径会因为每个人的python安装路径不同有所区别,我本人的字体存放目录的完整路径如下
/usr/local/lib/python3.9/site-packages/matplotlib/mpl-data/fonts/ttf

1.可以在这个地址下载

https://www.fontpalace.com/font-download/SimHei/

 

2.下载好之后把下载个好的字体放到ttf文件夹下

command + shit+g

把上面那个文件路径输入

 

3.将matplotlib的字体缓存文件删除

cd ~/.matplotlib/
rm -rf fontList.py3k.cache

4.有的人在删除缓存重启一下Python之后就可以了,但是我的不行

  在这里看到大佬的文章修改/site-packages/matplotlib/mpl-data/matplotlibrc

  但是我打开这个文件是乱码,所以用不了这个方法,

附上链接:
https://zhuanlan.zhihu.com/p/40931776

5.最后找到了一个临时的解决方法

在Python代码中添加以下代码

# fname 为字体文件路径
    import matplotlib
   myfont = matplotlib.font_manager.FontProperties(
    fname=r'/usr/local/lib/python3.9/site-packages/matplotlib/mpl-data/fonts/ttf/SimHei.ttf')

链接:https://www.cnblogs.com/bhlsheji/p/5349786.html

重新运行一下项目

 


免责声明!

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



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