负数在 matplotlib xkcd 样式中无法正确显示

Nat*_*ner 5 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!!!')
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

编辑:在伯尼的建议下(感谢伯尼)我尝试了一些不同的后端。尝试过 Qt、Tkinter 和内联,但似乎都不起作用。顺便说一句,我正在使用 Ipython 2.3。

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

小智 2

eryksun的评论是正确的。因此,您必须将减号 (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) 并将其保存在与字体文件夹不同的文件夹中。
  4. 安装新保存的字体。(在 Windows 上,双击打开预览窗口,然后单击安装)

我和你有同样的问题并且解决了它。