使用matplotlib时UserWarning: Glyph 26412 (\N{CJK UNIFIED IDEOGRAPH-672C}) missing from current font. func(*args)
时间: 2024-01-22 15:04:42 浏览: 332
这个警告是因为你的字体库缺少了显示汉字的字体。你可以通过以下两种方式来解决这个问题:
1. 安装一个包含中文字体的字体库,如SimSun、WenQuanYi等。
2. 在绘制图形时,手动指定一个包含中文字体的字体文件。例如:
```python
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties
font = FontProperties(fname=r"C:\Windows\Fonts\simhei.ttf") # 指定中文字体文件的路径
plt.title("标题", fontproperties=font)
plt.xlabel("x轴标签", fontproperties=font)
plt.ylabel("y轴标签", fontproperties=font)
plt.show()
```
在这个例子中,我们指定了宋体字体文件的路径,并在绘图时使用了该字体。你需要将 `fname` 参数指定为你所使用的中文字体文件的路径。
相关问题
UserWarning: Glyph 23384 (\N{CJK UNIFIED IDEOGRAPH-5B58}) missing from current font. func(*args)
这个警告通常出现在使用 matplotlib 绘制图形时,表示当前字体不支持某些字符,例如这里显示的是“字符 \N{CJK UNIFIED IDEOGRAPH-5B58} 在当前字体中不存在”。如果你不想看到这个警告,可以尝试更换字体,或者将该字符替换为当前字体支持的字符。你可以尝试使用以下代码解决该问题:
```
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] #更换字体
plt.rcParams['axes.unicode_minus']=False #解决负号无法正常显示的问题
```
其中,`SimHei` 是一种常用的中文字体,你可以根据需要更换为其他字体。
UserWarning: Glyph 21306 (\N{CJK UNIFIED IDEOGRAPH-533A}) missing from current font. func(*args)
这个警告是由于当前字体缺少对应的字符而导致的。在Matplotlib绘制图形时,如果要显示中文字符,需要设置合适的字体。可以通过以下代码来设置字体:
```python
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties
font = FontProperties(fname=r"c:\windows\fonts\simsun.ttc", size=14) # 设置中文字体,这里以宋体为例
plt.title("标题", fontproperties=font) # 设置标题的字体
plt.xlabel("横轴", fontproperties=font) # 设置横轴标签的字体
plt.ylabel("纵轴", fontproperties=font) # 设置纵轴标签的字体
plt.legend(prop=font) # 设置图例的字体
plt.show()
```
其中,`FontProperties`可用于设置字体的名称和大小,`fname`参数指定字体文件的路径和名称,`size`参数指定字体大小。在其他的Matplotlib函数中,可以通过`fontproperties`参数来设置字体。
阅读全文