我得到了一台新电脑,并安装了最新版本的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文档和键入一个负号与任何这些字体,他们都工作正常,所以这似乎不是字体安装本身的问题。任何帮助或解决这个问题的方向将不胜感激。谢谢寻求任何帮助或建议。
2条答案
按热度按时间oyxsuwqo1#
我发现通过使用
字符串
我可以在特定的代码中解决这个问题。
如果你想永久修复这个问题,请在matplotlib rc文件中设置相应的参数。
p8ekf7hl2#
我从the CTAN repository得到了cm-unicode包,这个错误就消失了。我不是这方面的Maven,但它可能与TTF/OTF格式有关,或者你得到的那个不支持unicode字形。