我一直在使用Matplotlib中的xkcd样式功能。我有Matplotlib 1.4版本,并且humor sans字体已经正确安装,至少在msword中可以正常工作。
当我运行以下示例代码时,每当应该有负数时,标签上会显示"?"而不是"-"。有什么想法是什么原因引起的吗?
with plt.xkcd():
plt.figure()
plt.plot(np.sin(np.linspace(0, 10)))
plt.title('Whoo Hoo!!!')
编辑:根据Bernie的建议(感谢Bernie),我尝试了一些不同的后端。尝试了Qt、Tkinter和inline,但似乎都无法正常工作。顺便提一下,我正在使用Ipython 2.3。
另外,我的声誉已经足够高,可以发布图片了。正如您所看到的,除了那些令人讨厌的问号之外,一切都如预期。
import matplotlib; matplotlib.get_backend()
- mechanical_meatplt.ion(); with plt.xkcd(): p, = plt.plot(np.sin(np.linspace(0, 10)));
c = p.axes.yaxis.get_ticklabels()[0].get_text()[0];
ord(c) == 0x2212;
unicodedata.name(c) == 'MINUS SIGN'
。在Windows中,当编码为诸如1252的代码页时,通常会用“?”替换未映射字符。 - Eryk Sun