matplotlib库问题:UserWarning: findfont: Font family [‘MicroSoft YaHei‘] not found.Falling back

一、问题

调用matplotlib库出现中文无法显示的问题:

(1)代码报错路径error:

...Anaconda3\Lib\site-packages\matplotlib\font_manager.py:1328: 

(2)报错内容:

UserWarning: findfont: Font family ['MicroSoft YaHei'] not found.Falling back to DejaVu Sans(prop.get_family(), self.defaultFamily[fontext]))

(3)报错图片:

二、解决流程

大致流程如下:

将C:\Windows\Fonts\simhei.ttf文件复制到...Anaconda3\Lib\site-packages\matplotlib\mpl-data\fonts\ttf文件夹下

=====>修改配置文件:...Anaconda3\Lib\site-packages\matplotlib\mpl-data\matplotlibrc

【(1)去除font.family前的#(2)去除font.serif 前的# ,在这一行的冒号后添加: SimHei 】

=====>代码本身应包含语句:

plt.rcParams['font.sans-serif'] = ['SimHei']  #显示中文
plt.rcParams['axes.unicode_minus']=False

=====>重启kernel并运行

三、详细步骤:

(1)电脑本身的字体font路径,各种ttf即为不同字体:

C:\Windows\Fonts

字体 黑体路径:

C:\Windows\Fonts\simhei.ttf

(2)将simhei.ttf复制到...Anaconda3\Lib\site-packages\matplotlib\mpl-data\fonts\ttf文件夹下

 

(3)修改配置文件matplotlibrc:

...Anaconda3\\Lib\site-packages\matplotlib\mpl-data\matplotlibrc

用notepad++修改,快捷键【Ctrl+F】搜索:font

     (1)去除font.family前的#

     (2)去除font.serif 前的# ,在这一行的冒号后添加: SimHei

     (3)快捷键 【Ctrl+s】保存

没修改前:

 

修改后:

 

(4)代码块本身应包含语句:

plt.rcParams['font.sans-serif'] = ['SimHei']  #显示中文
plt.rcParams['axes.unicode_minus']=False

(5)最终,在jupyter的Kernel选择 Restart&Run all,结果正常

(6)补充:

如果仍然报错,则修改font_manager.py:

...Anaconda3\Lib\site-packages\matplotlib\font_manager.py

 【Ctrl+F】搜索关键词:self.defaultFamily

修改部分如下:

 

四、参考网址:

python3用matplotlib绘图出现中文乱码UserWarning: findfont: Font family [‘sans-serif‘] not found._yl4548的博客-CSDN博客icon-default.png?t=LA92https://blog.csdn.net/yl4548/article/details/107232170

 

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值