解决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

重新运行一下项目

 

posted @   大雄的脑袋  阅读(3114)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示