• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

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

武飞扬头像
weixin_43718742
帮助2

一、问题

调用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 】

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

  1.  
    plt.rcParams['font.sans-serif'] = ['SimHei']  #显示中文
  2.  
    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)代码块本身应包含语句:

  1.  
    plt.rcParams['font.sans-serif'] = ['SimHei']  #显示中文
  2.  
    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

修改部分如下:

学新通

四、参考网址:

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgceiii
系列文章
更多 icon
同类精品
更多 icon
继续加载