目前的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上;删除字体缓存是让字体运行的必要步骤。)
~/.cache/matplotlib
(不确定何时更改),删除缓存确实非常重要。 - MarkfontList.py3k.cache
。 - Svabergimport matplotlib
然后matplotlib.font_manager._rebuild()
。这应该是与平台无关的。 - Unis如果您使用的是安装 matplotlib 2.0.0 的 ubuntu 16.04 和 python 3,下列操作可以帮助解决问题。
sudo apt install fonts-humor-sans
rm ~/.cache/matplotlib -r
fonts-humor-sans
。然后最好的选择(而不是删除matplotlib缓存)是重新构建字体管理器(从Python解释器、脚本或Jupyter笔记本中):$ sudo apt install python3-xkcd fonts-humor-sans
import matplotlib
matplotlib.font_manager._rebuild()
来自你链接的博客文章:
此外,如果你想要使用上面的字体,请确保在系统中下载并安装Humor Sans字体。为了让matplotlib识别它,你可能需要删除字体缓存...
至于下载哪个版本的字体,我建议尝试最新的版本。
plt.get_backend()
进行检查。如果你已经安装了Qt4,可以尝试将其设置为*Agg后端,例如Qt4Agg。如果你在ipython笔记本中,也可以使用pylab的“inline”后端。参见此问题:https://github.com/matplotlib/matplotlib/issues/2269 - aganders3plt.xkcd
命令需要调整一些参数来控制其执行的程度。请查看它的文档字符串以获取更多信息。 - Paul H