Matplotlib图形不显示减号CMU Sans Seri

2024-04-26 14:22:14 发布

您现在位置:Python中文网/ 问答频道 /正文

几天前,我买了一台新电脑,安装了anaconda的最新版本,我正在尝试使用与以前相同的代码,在我的另一台电脑上进行绘图。绘图时,无法使用CMU无衬线字体显示减号。它抛出了以下错误

C:\Users\xxx\AppData\Local\Continuum\anaconda3\lib\site-packages\matplotlib\backends\backend_agg.py:211: RuntimeWarning: Glyph 8722 missing from current font.
  font.set_text(s, 0.0, flags=flags)
C:\Users\xxx\AppData\Local\Continuum\anaconda3\lib\site-packages\matplotlib\backends\backend_agg.py:180: RuntimeWarning: Glyph 8722 missing from current font.
  font.set_text(s, 0, flags=flags)

它还绘制了以下错误的图形。请参考颜色条的负号。 Picture with missing a minus sign and has boxed x instead

以下是我的代码:

plt.rcParams['font.sans-serif'] = "CMU Sans Serif"
plt.rcParams['font.family'] = "sans-serif"
plt.rcParams['mathtext.fontset'] = 'cm' 

# I can provide any x,y,z data here and every negative data reproduces the same error
plt.scatter(x,y,c=z,cmap='jet')
plt.colorbar()

如果我不包括plt.rcParams['font.sans-serif'] = "CMU Sans Serif"部分,它会正确地显示负号,但是它不是我现在需要的字体。我查看了一个Word文档,用这些字体中的任何一种键入一个负号,它们都正常工作,所以字体安装本身似乎没有问题。任何帮助或解决这个问题的方向将不胜感激。提前感谢您的帮助或建议。你知道吗


Tags: 代码绘图错误字体pltusersxxxflags
1条回答
网友
1楼 · 发布于 2024-04-26 14:22:14

我通过使用

matplotlib.rcParams['axes.unicode_minus'] = False

我可以在特定的代码中修复这个问题。你知道吗

如果要永久解决此问题,请在matplotlib rc file中设置相应的参数。你知道吗

相关问题 更多 >