负数不能在matplotlib xkcd样式中正确显示

时间:2014-10-10 17:07:53

标签: python matplotlib

我一直在使用matplotlib中的xkcd样式功能。我有Matplotlib 1.4,幽默sans字体安装正确,或至少在msword中工作。

当我运行以下示例代码时,我得到"?"而不是" - "在标签上任何时候应该有一个负数。知道是什么原因引起的吗?

with plt.xkcd():
  plt.figure()
  plt.plot(np.sin(np.linspace(0, 10)))
  plt.title('Whoo Hoo!!!')

enter image description here

编辑:在伯尼的建议中(感谢伯尼),我尝试了一些不同的后端。尝试Qt,Tkinter和内联,似乎没有工作。我使用的是Ipython 2.3顺便说一句。

此外,声誉现在足以发布图像。正如你所看到的那样,除了那些讨厌的问号外,一切都如预期的那样。

1 个答案:

答案 0 :(得分:1)

eryksun评论是对的。因此,您必须将MINUS SIGN(U + 2212)字符添加到xkcd字体(hunour sans)。 为此,请使用字体编辑器(我使用FontForge):

  1. 从FontForge菜单中,打开Humor Sans ttf文件。
  2. 将HYPHEN-MINUS(U + 002d)字形复制粘贴到MINUS SIGN(U + 2212)字符框(按增加的Unicode编号排序)。
  3. 转到文件 - >生成字体。选择True Type(.ttf)并将其保存在与Fonts文件夹不同的文件夹中。
  4. 安装新保存的字体。 (在Windows上,双击打开预览窗口,然后单击“安装”)
  5. 我遇到了和你一样的问题,解决了它。