D:\Anaconda3-2023.03-1\lib\site-packages\IPython\core\pylabtools.py:152: UserWarning: Glyph 36724 (\N{CJK UNIFIED IDEOGRAPH-8F74}) missing from current font. fig.canvas.print_figure(bytes_io, **kw)
时间: 2023-07-21 17:04:24 浏览: 483
这个警告通常是由于字体缺失或不支持某些特定字符而引起的。这个警告不会影响代码的执行,只是在绘图中出现一些特定字符显示不正确。
要解决这个问题,你可以尝试以下几种方法之一:
1. 忽略警告:你可以在代码开头添加以下代码,将警告信息过滤掉。
```python
import warnings
warnings.filterwarnings("ignore")
```
这将会忽略掉所有警告信息,包括该字体缺失的警告。
2. 更换字体:你可以尝试在绘图之前更换字体来解决该问题。例如,你可以使用以下代码指定一个支持所需字符的字体:
```python
import matplotlib.pyplot as plt
plt.rcParams['font.family'] = 'Arial Unicode MS'
```
这将会将字体设置为 "Arial Unicode MS",它通常支持各种字符。
3. 更新字体库:如果你的字体库较旧,可能会导致缺失某些字符。尝试更新你的字体库,或者使用支持更多字符的字体库。
请注意,以上方法可能因操作系统、Python版本和安装的字体库而有所不同。你可以根据具体情况尝试这些方法以解决警告问题。
相关问题
报错C:\Anaconda3\lib\site-packages\IPython\core\pylabtools.py:151: UserWarning: Glyph 26032 (\N{CJK UNIFIED IDEOGRAPH-65B0}) missing from current font. fig.canvas.print_figure(bytes_io, **kw) C:\Anaconda3\lib\site-packages\IPython\core\pylabtools.py:151: UserWarning: Glyph 20215 (\N{CJK UNIFIED IDEOGRAPH-4EF7}) missing from current font. fig.canvas.print_figure(bytes_io, **kw)
这是因为默认字体中没有包含某些需要使用的中文字符,导致绘图出现了问题。我们可以在绘图之前设置字体,以解决这个问题。
可以使用如下代码设置字体:
```python
from matplotlib.font_manager import FontProperties
# 设置中文字体
font = FontProperties(fname=r"C:\Windows\Fonts\simhei.ttf", size=14)
```
其中,`fname`是字体文件所在的路径,这里使用的是SimHei字体,您可以根据自己的需要修改。
然后在绘图时,将需要使用中文的地方,比如x轴标签、y轴标签、标题等,都加上`fontproperties=font`的参数,指定使用刚刚设置的字体。
代码如下:
```python
import pandas as pd
import matplotlib.pyplot as plt
from matplotlib.font_manager import FontProperties
# 创建DataFrame对象
data = {'证券代码': ['000609', '000993', '002615', '000795', '002766', '000971', '000633', '300173', '300279', '000831'],
'证券简称': ['中迪投资', '闽东电力', '哈尔斯', '英洛华', '索菱股份', '高升控投', '合金投资', '智慧松德', '和晶科技', '五矿稀土'],
'最新价': [4.8, 4.8, 5.02, 3.93, 6.78, 3.72, 4.6, 4.6, 5.81, 9.87],
'涨跌幅%': [10.09, 10.09, 10.09, 10.08, 10.06, 10.06, 10.06, 10.5, 10.05, 10.04]}
df = pd.DataFrame(data)
# 设置中文字体
font = FontProperties(fname=r"C:\Windows\Fonts\simhei.ttf", size=14)
# 绘制条形图
plt.bar(df['证券简称'], df['最新价'])
plt.xticks(rotation=90, fontproperties=font) # x轴标签旋转90度,防止重叠
plt.xlabel('证券简称', fontproperties=font)
plt.ylabel('最新价', fontproperties=font)
plt.title('股票数据', fontproperties=font)
plt.show()
```
这样就可以成功绘制中文字符了。
"D:\Anaconda\lib\site-packages\IPython\core\pylabtools.py:132: UserWarning: 当前字体缺少字形 26381 (\N{CJK UNIFIED IDEOGRAPH-670D})。"
这个警告是由于Matplotlib无法找到所需的字形而引起的。这通常是由于缺少所需字体或字体文件损坏引起的。您可以尝试以下解决方法:
1.安装所需字体:您可以尝试安装缺少的字体。在Windows上,您可以在控制面板中找到“字体”选项,并从中安装所需的字体。在Linux上,您可以使用包管理器安装所需的字体。
2.更改字体:您可以尝试更改Matplotlib使用的字体。您可以在代码中使用以下代码更改字体:
```python
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] #更改字体为中文黑体
```
3.更改Matplotlib配置文件:您可以尝试更改Matplotlib的配置文件以更改默认字体。您可以在Matplotlib的配置文件中找到“font.family”选项,并将其更改为您想要使用的字体。
```python
import matplotlib
matplotlib.rcParams['font.family'] = 'SimHei' #更改字体为中文黑体
```
阅读全文