python经典字体警告:RuntimeWarning: Glyph missing from current font. font.set_text(s, 0.0, flags=flags)

本文介绍了在Python使用matplotlib绘制图表时遇到的RuntimeWarning:Glyph missing from current font问题,以及如何通过简单步骤解决这个问题,确保图表正确显示中文字符。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


前言

  python语言想要在图片的横纵坐标上显示中文,出来的图片上中文字被方框替代,并且抱有警告:RuntimeWarning: Glyph XXXXX missing from current font. font.set_text(s, 0.0, flags=flags)最终成功解决,如有错误,请纠正,万分感谢


python经典字体警告:RuntimeWarning: Glyph missing from current font. font.set_text(s, 0.0, flags=flags) && 解决方案

from matplotlib import pyplot as plt
import seaborn as sns
import matplotlib

#此处省略需要载
这个警告 "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) ```
评论 54
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值