RuntimeWarning: Glyph missing from current font. font.set_text(s, 0, flags=flags)解决方案

RuntimeWarning: Glyph missing fromcurrent font. font.set_text(s, 0, flags=flags)解决方案

在这里插入图片描述

警告原因:plt 画图是找不到字体,需要添加两行程序,如下:

plt.rcParams[‘font.sans-serif’]=[‘SimHei’]#显示中文标签 plt.rcParams[‘axes.unicode_minus’]=False

这个警告 "RuntimeWarning: Glyph 8722 missing from current font" 表示你在 Python 中尝试设置字体时,字体文件缺少特定的字符(在这个例子中是编码为8722的字符)。这通常是由于你的字体库中没有包含这个特殊字符,导致无法正常渲染。 要消除这个警告,你可以采取以下几个步骤: 1. **更新字体**:确保你使用的字体支持你需要的字符。可以尝试使用支持更多字符集的字体文件。 2. **字符替代**:如果实在找不到对应的字符,你可以用其他字符(如方框或者省略号)作为代替,或者使用 `unicodedata` 库将特殊字符转义为等效的 Unicode 码点,然后替换缺失字符。 3. **忽略警告**:如果你确定这个字符并不重要并且不会影响程序功能,可以在引发警告的地方添加 `warnings.filterwarnings('ignore', category=RuntimeWarning)` 来暂时屏蔽这条警告。但这不是长久之计,因为可能会隐藏潜在的问题。 4. **修改文本**:避免在字符串中直接使用这个特定的字符,如果这个字符在你的应用场景中无关紧要的话。 ```python import warnings from unicodedata import name # 先忽略警告 with warnings.catch_warnings(): warnings.filterwarnings('ignore', category=RuntimeWarning) # 检查当前字体是否包含该字符 if '8722' not in font.get_glyph_names(): char_name = name(8722) or 'unknown' print(f'Character {char_name} (U+{ord(8722)}) is missing, using alternative...') s = s.replace(u'\u2212', '-') # 使用 '-' 替换 '-' font.set_text(s, 0.0, flags=flags) ```
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值