当前版本的 matplotlib (1.3.1) 支持 xkcd 样式的绘图,但是当我按照生成此类绘图的基本说明(在 iPython 1.1.0 中)时,
%pylab
plt.xkcd()
plt.plot(sin(linspace(0, 10)))
plt.title('Whoo Hoo!!!')
我明白了
代替
我究竟做错了什么?
当前版本的 matplotlib (1.3.1) 支持 xkcd 样式的绘图,但是当我按照生成此类绘图的基本说明(在 iPython 1.1.0 中)时,
%pylab
plt.xkcd()
plt.plot(sin(linspace(0, 10)))
plt.title('Whoo Hoo!!!')
我明白了
代替
我究竟做错了什么?
为了让它工作,你需要
sudo pip install matplotlib --upgrade
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;删除字体缓存是使字体运行所必需的。)
使用安装了 matplotlib 2.0.0 的 ubuntu 16.04 和 python 3,以下解决了我的问题。
sudo apt install fonts-humor-sans
rm ~/.cache/matplotlib -r
确保您已fonts-humor-sans
安装。
在 Ubuntu/Debian 中,您可以使用(从命令行)安装它们:
$ sudo apt install python3-xkcd fonts-humor-sans
那么最好的选择(而不是删除 matplotlib 缓存)是重建字体管理器(从 Python 解释器、脚本或 Jupyter 笔记本中):
导入 matplotlib
matplotlib.font_manager._rebuild()
从您链接的博客文章中:
此外,如果您想要上面的字体匹配,请务必在您的系统上下载并安装 Humor Sans 字体。为了让 matplotlib 识别它,您可能必须删除字体缓存...
至于要下载哪个版本的字体,我会尝试最新的。