UserWarning: findfont: Font family [‘sans-serif‘] not found. Falling back to DejaVu Sans

matplotlib中文乱码问题解决

系统环境Ubuntu 18.04.4 LTS,利用Anconda配置Python虚拟环境,使用matplotlib画图,中文图注,字体SimHei。

下载字体与配置

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

利用

import matplotlib
print(matplotlib.matplotlib_fname())

out:

/home/ubuntu/anconda3/lib/python3.7/site-packages/matplotlib/mpl-data/matplotlibrc

则将字体文件SimHei.ttf放在

/home/ubuntu/anconda3/lib/python3.7/site-packages/matplotlib/mpl-data/fonts/ttf/

文件夹下。
随后,清除字体缓存,
利用

import matplotlib
print(matplotlib.get_cachedir())

out:

/root/.cache/matplotlib

清空该文件夹。

rm -rf /root/.cache/matplotlib

配置matplotlibrc

利用

import matplotlib
print(matplotlib.matplotlib_fname())

out:

/home/ubuntu/anconda3/lib/python3.7/site-packages/matplotlib/mpl-data/matplotlibrc

修改matplotlibrc文件,修改如下三处

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
保存。

配置font_manager.py

利用

import matplotlib
print(matplotlib.matplotlib_fname())

out:

/home/ubuntu/anconda3/lib/python3.7/site-packages/matplotlib/mpl-data/matplotlibrc

则,font_manager.py文件位置为:

/home/ubuntu/anconda3/lib/python3.7/site-packages/matplotlib/font_manager.py

修改如下两处:

在这里插入图片描述

在这里插入图片描述
PS:在vi中可利用 ‘\’ 定位需要修改的位置。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值