UserWarning: Glyph 8722 (\N{MINUS SIGN}) missing from current font. func(*args)解决方案代码
时间: 2023-12-03 17:42:27 浏览: 121
这个警告是因为当前的字体中没有包含减号(unicode编码为8722),所以matplotlib无法正确显示减号。解决方案是更换字体或者手动添加缺失的字体。
以下是两种解决方案:
1. 更换字体
可以在绘图之前指定使用包含减号的字体,例如:
```python
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['Arial Unicode MS'] # 指定字体为Arial Unicode MS
plt.plot([1,2,3],[4,5,6])
plt.show()
```
2. 手动添加缺失的字体
可以通过下载包含减号的字体文件并手动添加到matplotlib的字体文件夹中来解决。具体步骤如下:
- 在网上搜索包含减号的字体文件(例如Noto Sans CJK字体),下载对应的字体文件,文件格式通常为.ttf或.otf。
- 在Python中运行以下代码查找matplotlib的字体文件夹路径:
```python
import matplotlib
print(matplotlib.get_configdir())
```
- 将下载的字体文件复制到上一步中查找到的字体文件夹中。
- 在绘图之前指定使用下载的字体,例如:
```python
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['Noto Sans CJK'] # 指定字体为下载的字体
plt.plot([1,2,3],[4,5,6])
plt.show()
```