The current version of matplotlib (1.3.1) supports xkcd-style plotting, but when I follow the basic instructions for generating such a plot (in iPython 1.1.0),
%pylab
plt.xkcd()
plt.plot(sin(linspace(0, 10)))
plt.title('Whoo Hoo!!!')
I get
instead of
What am I doing wrong?
To get it working, you need
sudo pip install matplotlib --upgrade
rm ~/.matplotlib/fontList.cache
Now, execute the code and it should work.
You do not need to change backend to TkAgg
, as some people suggest. For me it works perfectly fine on 'module://IPython.kernel.zmq.pylab.backend_inline'
(you can check it by plt.get_backend()
).
(I had the same problem and I've solved it, at least on OS X 10.8.5, with matplotlib 1.3.1 and IPython 2.0.0; removing font cache was necessary to get the font running.)
Using ubuntu 16.04 and python 3, with matplotlib 2.0.0 installed the following fixes the problem for me.
sudo apt install fonts-humor-sans
rm ~/.cache/matplotlib -r
Make sure you have fonts-humor-sans
installed.
In Ubuntu/Debian, you can install them with (from the command-line):
$ sudo apt install python3-xkcd fonts-humor-sans
Then the best option (instead of deleting the matplotlib cache) is to rebuild the font manager (from within the Python interpreter, script or Jupyter notebook):
import matplotlib
matplotlib.font_manager._rebuild()
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With