findfont: Font family [ ‘<fontname>‘ ] not found. Falling back to DejaVu Sans.

PyCharm:Font family [‘sans-serif‘] not found. Falling back to DejaVu Sans解决办法(mac亲测有效) MAC的PyCharm使用SimHei字体出错,图片不能显示中文 阅读详情

目录

1、指定文件路径

2、换用系统字体

3、复制字体至 matplotlib 库 fonts/ttf 目录

4、狸猫换太子


        博主(UOS 系统)在用 meplotlib 制作雷达图时,选用喜欢的微软雅黑字体(msyh.ttf),虽然字体已安装到字库,结果仍报错:

findfont: Font family ['msyh'] not found. Falling back to DejaVu Sans.

        font family 中并未发现该字体,也即该字体并未被注册,如何解决呢?

        Matplotlib 默认情况不支持中文,我们可以使用以下简单的方法来解决。

1、指定文件路径

        利用 matplotlib.font_manager.FontProperties() 指向字体文件路径(当前目录或绝对路径)

        示例:

import numpy as np 
from matplotlib import pyplot as plt 
import matplotlib
 
font = matplotlib.font_manager.FontProperties(fname='msyh.ttf') 
 
x = np.arange(1,11) 
y = 2*x + 5 
plt.title('线性方程', fontproperties = font)  
plt.xlabel('x 轴', fontproperties = font)
plt.ylabel("y 轴", fontproperties = font)
plt.plot(x, y) 
plt.show()

        输出结果: 

2、换用系统字体

         在换用之前,首先看一下 matplotlib.font_manager 中注册的字体:

from matplotlib import pyplot as plt
import matplotlib
fonts = sorted([f.name for f in matplotlib.font_manager.fontManager.ttflist])

for i in fonts:
    print(i)

        输出结果:

......
FZChaoCuHei-M10
FZCuHuoYi-M25S
FZFangSong-Z02
FZHei-B01
FZKai-Z03
FZLiShu-S01
FZShouJinShu-S10S
FZShuSong-Z01
FZSongS-Extended
FZSongS-Extended(SIP)
FZWeiBei-S03
FZXiHeiI-Z08
FZXiaoBiaoSong-B05
FZXiaoBiaoSong-B05S
FZXingKai-S04
FZYaoTi-M06
HYFangSongJ
HYXingKaiJ
HYZhongDengXianJ
HYZhongSongJ
HYZhuanShuF
......

        根据打印出的列表,找一个效果相近的中文字体,如FZHei-B01(方正黑体),然后添加到以下代码即可:

plt.rcParams['font.family'] = 'FZHei-B01'

3、复制字体至 matplotlib 库 fonts/ttf 目录

         这项工作在 windows 下为小菜一碟,博主所用系统为UOS,则要费一番功夫。因为相应目录为只读状态,需要解锁。

        首先,文件管理器查找 matplotlib 库 fonts/ttf 目录,右键点击复制路径:

 

         获得路径(file:///usr/local/lib/python3.7/dist-packages/matplotlib/mpl-data/fonts/ttf)以备解锁使用,具体参见:

https://blog.youkuaiyun.com/iprobobo/article/details/123230219https://blog.youkuaiyun.com/iprobobo/article/details/123230219

        也可以运行下述代码获取:

>>> import matplotlib
>>> print(matplotlib.matplotlib_fname())
/usr/local/lib/python3.7/dist-packages/matplotlib/mpl-data/matplotlibrc

        解锁后,将所需字体文件拷贝至 ttf 目录 。

        其次,修改 matplotlib 库配置文件 matplotlibrc:打开后查找 font.family,其上添加下述代码:

font.family			 : sans-serif
font.sans-serif		 : SimHei
axes.unicode_minus   : False

        最后,清除 matplotlib cache 即可。

4、狸猫换太子

        这是一个偷懒的方法。将字体文件复制到matplotlib 库 fonts/ttf 目录后,将其改名为该目录下已有某个字体,然后调用该改名后的字体即可☺

Python用matplotlib画图是中文无法显示问题及Font family [‘SimSun‘] not found,不用清空缓存,重启服务器 修改/opt/conda/lib/python3.8/site-packages/matplotlib/mpl-data/mpl-data/matplotlibrc,修改内容如下:找到font.sans-serif,添加SimSun。文件 SimSun.ttf复制到 /opt/conda/lib/python3.8/site-packages/matplotlib/mpl-data/fonts/ttf 路径下。看别人说使用 rm -rf +路径 删除缓存,然后重启,由于我用服务器,重启要找管理员。 阅读详情

相关推荐

解决Matplotlib字体缺失警告:从原理到实践的Times New Roman配置指南

在数据可视化与科学计算领域,字体管理是确保图表输出专业性与一致性的关键技术环节。其核心原理在于绘图库通过字体缓存机制在系统路径中查找并加载指定字体文件,当目标字体缺失时会触发回退机制,这直接影响了学术出版、企业报告等场景的格式规范遵循。从技术价值看,跨平台字体环境的统一配置能提升代码的可移植性与协作效率,避免因字体缺失导致的格式错乱问题。本文聚焦于Matplotlib中常见的Times New Roman字体缺失警告,通过解析字体查找路径、缓存更新逻辑与动态加载方案,为Python数据可视化项目提供从临时规

cigang4063的博客 369

Font family [‘sans-serif‘] not found.Falling back to DejaVu Sans.解决办法

1、在终端python 的环境下,查看字体路径 import matplotlib print(matplotlib.matplotlib_fname()) 2、下载SimHei 官方下载网址,并前往指定目录:/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/matplotlib/...

sinat_40875078的博客 4万+

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

/home/ubuntu/.virtualenvs/da/lib/python3.6/site-packages/matplotlib/font_manager.py:1238: UserWarning: findfont: Font family [‘sans-serif’] not found. Falling back to DejaVu Sans. (prop.get_family(), self.defaultFamily[fontext])) 原创文章 90获赞 117访问量 19万+

python3用matplotlib绘图出现中文乱码UserWarning: findfont: Font family [‘sans-serif‘] not found.

问题 我利用matplotlib来绘制了一个十分简单的3D图,但是遇到了这个报错。 UserWarning: findfont: Font family ['sans-serif'] not found. Falling back to DejaVu Sans (prop.get_family(), self.defaultFamily[fontext])) 下载中文字体并放到指定目录中 遇到这种问题,是matplotlib中缺乏中文字体,首先需要下载中文字体SimHei.ttf Download,并放在指

yl4548的博客 6786

IMU预积分--详细推导过程

IMU预积分推导

weixin_51547017的博客 2万+

告别枯燥的Unity编辑器脚本:Odin插件如何让游戏数据配置变得像搭积木一样简单?

本文详细介绍了Odin插件如何简化Unity编辑器脚本开发,使游戏数据配置变得直观高效。通过声明式特性和丰富的可视化工具,Odin让开发者告别繁琐的OnGUI代码,实现所见即所得的开发体验。文章重点展示了Odin的核心优势、魔法特性及实战案例,帮助Unity开发者提升工作效率。

weixin_28717411的博客 345

彻底解决Matplotlib字体缺失:从Times New Roman到跨平台字体配置

在数据可视化与科学计算中,字体渲染是保证图表专业性与一致性的关键技术环节。其原理在于绘图库通过系统字体路径查找并加载指定字体文件进行文本渲染。正确的字体管理对于生成符合学术出版、商业报告严格排版规范的图表具有重要价值,尤其在跨平台(如Windows、Linux、macOS)协作与部署场景下。当遇到类似“Times New Roman”等系统字体缺失时,会导致默认字体回退,影响图表视觉效果与文档统一性。本文聚焦于Matplotlib环境下的字体问题,深入解析其字体缓存机制与系统级字体配置原理,并提供从临时规避

weixin_30471561的博客 488

STK轨道仿真环境搭建实战:从地月系到多天体场景

本文详细介绍了STK轨道仿真环境搭建的实战指南,从基础的地月系统到复杂的多天体场景。通过逐步操作说明和实用技巧,帮助用户快速掌握STK软件的使用方法,提升轨道仿真效率,适用于航天任务设计和教学演示。

weixin_30312563的博客 399

解决Font family [‘sans-serif‘] not found.Falling back to DejaVu Sans

解决Font family [‘sans-serif‘] not found.Falling back to DejaVu Sans 在用python运行SVM代码的时候,控制台一直报错误:Font family [‘sans-serif‘] not found.Falling back to DejaVu Sans,找不到sans-serif字体 一、获取matplotlib的字体目录 # 在python终端中输入 import patplotlib print(matplotlib.matplotlib

肚饿不喜欢的博客 9614

记录:rk3568适配开源GPU驱动(panfrost)

摘要:本文介绍了在RK3568芯片上移植Mali-G52 GPU驱动的过程。主要包括内核dts文件修改和内核配置调整两部分。

xuesong10210的博客 2237

LIN 协议测试

如下图,使用PicoScope示波器抓取报文Id为0x18的波形,数据场Byte1的长度为519.994μs,Byte1共10bit,计算位时间:tBit= 519.994/10 = 51.9994μs,符合预期。■ 唤醒信号是一个250μs到5ms的显性电平,发送唤醒信号的节点发送唤醒信号后150ms~250ms没有收到其他节点的唤醒信号,发送唤醒信号的节点发送新的唤醒信号。对于LIN主节点,检查发送的帧头长度是否符合设计要求,对于LIN从节点,检查从节点能否正确响应设计范围之内的帧头长度。

m0_63902994的博客 5936

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

copy该路径,在自己电脑或笔记本对应的位置,清空该文件夹里的内容。不要删除“C:\Users\25705.matplotlib”文件。5. then,回到PyCharm项目界面,点击程序运行,问题就解决啦!

qq_45278798的博客 1663

如何设计提示词来减少 AI 的幻觉问题?

如何设计提示词来减少 AI 的幻觉问题?

我哎GIS博客 2471

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

matplotlib用着用着出问题了…哎呀 问题如下: findfont: Font family [‘sans-serif’] not found. Falling back to DejaVu Sans. findfont: Generic family ‘sans-serif’ not found because none of the following families were found: SimHei ValueError: Failed to find font DejaVu Sans:s

qq_41220883的博客 7783

uniapp - 鸿蒙真机运行报错hvigor ERROR: Failed :entry:default@CompileArkTS...,hvigor ERROR: default@CompileAr

uniapp鸿蒙报错> hvigor ERROR: Failed :entry:default@CompileArkTS... hvigor ERROR: default@CompileArkTS watch work[0] failed. 【HarmonyOS】工程编译后报错hvigor ERROR: Failed :entry:default@CompileArkTS,uniAPP鸿蒙开发无法编译运行启动报错,工程编译后报错,运行不起来,删除掉项目entry下的build和.preview缓存文件后重新

🏆 前端领域优质创作者 4792

【学习系列】SAP RAP 1:关于RAP的一些基本介绍

摘要:SAP RAP和CAP是两种不同的开发模型。RAP(RESTful ABAP)用于在S/4HANA等ABAP平台上构建现代业务应用,基于CDS+OData,适合ABAP开发者扩展核心业务。CAP(云应用编程模型)是BTP上的云原生框架,支持Node.js/Java,适合构建跨系统集成应用。RAP优势在于与S/4HANA深度集成,CAP则更灵活,支持多云环境。选择依据主要取决于开发平台(S/4HANA或BTP)、技术栈(ABAP或Node.js/Java)及应用场景(核心扩展或云原生开发)。

DeveloperMrMeng的博客 1167

解决:Linux报错“findfont: Font family [‘sans-serif‘] not found. Falling back to DejaVu Sans.”

matplotlib默认不支持中文,因此要在图表中显示中文,要下载相应的ttf文件,并进行全局的设置。若依然没有生效,那很大概率是缓存问题,用命令清缓存即可。

weixin_41807305的博客 853

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

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

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

仅进行技术交流,不代写代码及其他 1448

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

【bug最新修复】findfont: Generic family ‘sans-serif‘ not found because none of the following

如果是mac os 和 linux系统按照以下方法百分之百能解决解决方案我的缓存文件夹是:/home/.matplotlib删除这个缓存文件夹:rm -r /home/.matplotlib/*2.下载SeiHei.ttf字体放入~/.fonts目录下。点击下载或者复制这个链接下载命令:如果没有就mkdir ~/.fonts(3)安装fc-cache命令。

迷茫与徘徊只会让你陷入绝境,欢迎私信博主,带你开始提升变现价值! 1万+

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Python3 | UserWarning: findfont: Font family [‘SimHei‘] not found. Falling back to DejaVu Sans.

该错误表现为 Matplotlib 不能显示中文,因为 Matplitlib 默认情况下是不支持中文字体,需要提供SimHei.ttf 文件。 一、下载SimHei.ttf文件 这里提供下载链接:https://www.uslogger.com/details/3 二、找出Matplotlib存放ttf文件的路径 进入 python 脚本,执行以下操作: >>> import matplotlib >>> print(matplotlib.matplotli.

Systemcall名屋 1万+

Python错误篇 | UserWarning: findfont: Font family [‘SimHei‘] not found. Falling back to DejaVu Sans.

matplotlib中文显示问题的解决方案 matplotlib运行时出现错误: UserWarning: findfont: Font family [‘SimHei‘] not found. Falling back to DejaVu Sa 或者 RuntimeWarning: Glyph 20998 missing from current font. 错误RuntimeWarning: Glyph xxxxx missing from current font的产生原因解析,检测当前字体是否包含某

囧疼她的博客 9016

Python - matplotlib 不显示中文 && findfont: Font family [‘SimHei‘] not found - IOS

python matplotlib.plt 使用 plt.title 写标题时,标题显示为方框,无法正常显示中文,遂开始修复之旅。

BITDDD小栈 1万+

Jupyter Notebook 显示中文异常

使用Jupyter Notebook画图时, 中文显示异常并报错 findfont: Font family ['sans-serif'] not found. Falling back to DejaVu Sans. 解决方式如下: 1. Anaconda加载中文字体库 方式一: 将C:\Windows\Fonts\SimHei.ttf复制到anaconda的安装路径(\Lib\Python3.6\site-packages\matplotlib\mpl-data\fonts\ttf)下 方式二:网上下

酒酿小圆子呀~ 2342

优雅解决Python中matplotlib绘图时汉字显示不正常的问题

python中为了在图表上绘制中文,图表最后出现了这种方框形式的错误。并报了如下错误。

Afison的博客 4495
上一篇: Matplotlib 雷达图 AttributeError: ‘Text‘ object has no property ‘frac‘ 报错之解决
下一篇: ValueError: The number of FixedLocator locations (7), , does not match the number of ticklabels (6).
香饽々
博客等级 码龄5年 252粉丝 88原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

香饽々

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值