Matplotlib Figures Not Minus Sign CMU Sans Serif

w8f9ii69  于 2023-11-22  发布在  其他
关注(0)|答案(2)|浏览(88)

我得到了一台新电脑,并安装了最新版本的anaconda几天前,我试图使用相同的代码,因为我以前在我的另一台电脑上工作的绘图。当我绘图,它无法显示减号使用CMU Sans Serif字体。它吐出以下错误

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)

字符串
它还绘制了以下错误的数字。请参考颜色条的负号。

以下是我的代码:

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文档和键入一个负号与任何这些字体,他们都工作正常,所以这似乎不是字体安装本身的问题。任何帮助或解决这个问题的方向将不胜感激。谢谢寻求任何帮助或建议。

oyxsuwqo

oyxsuwqo1#

我发现通过使用

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

字符串
我可以在特定的代码中解决这个问题。
如果你想永久修复这个问题,请在matplotlib rc文件中设置相应的参数。

p8ekf7hl

p8ekf7hl2#

我从the CTAN repository得到了cm-unicode包,这个错误就消失了。我不是这方面的Maven,但它可能与TTF/OTF格式有关,或者你得到的那个不支持unicode字形。

相关问题