使用matplotlib获取xkcd图

oro*_*ome 13 matplotlib

当前版本的matplotlib(1.3.1)支持xkcd风格的绘图,但是当我按照基本指令生成这样的绘图时(在iPython 1.1.0中),

%pylab
plt.xkcd()
plt.plot(sin(linspace(0, 10)))
plt.title('Whoo Hoo!!!')
Run Code Online (Sandbox Code Playgroud)

我明白了

在此输入图像描述

代替

在此输入图像描述

我究竟做错了什么?

Pio*_*dal 15

为了让它工作,你需要

  • matplotlib 1.3.1(它不适用于matplotlib 1.3.0或更早版本)
    • sudo pip install matplotlib --upgrade
  • 字体 幽默Sans
    • 这里这里下载,安装(在OS X上打开它,然后单击Install)
  • 删除matplotlib字体缓存(由danHickstein在matplotlib/issues/2269中建议)
    • rm ~/.matplotlib/fontList.cache

现在,执行代码,它应该工作.

有些人建议你不需要改变后端TkAgg.对我来说,它完全正常'module://IPython.kernel.zmq.pylab.backend_inline'(你可以检查plt.get_backend()).

(我有同样的问题,我已经解决了它,至少在OS X 10.8.5上,使用matplotlib 1.3.1和IPython 2.0.0;删除字体缓存是获得字体运行所必需的.)

  • 对于Ubuntu 14.04上的matplotlib 1.3.1,缓存位于`〜/ .cache/matplotlib`(不确定何时更改)并删除它确实至关重要. (5认同)