Получение графиков xkcd с использованием matplotlib
Текущая версия matplotlib (1.3.1) поддерживает построение hkcd-стиля, но когда я следуют основным инструкциям для создания такого графика (в iPython 1.1.0),
%pylab
plt.xkcd()
plt.plot(sin(linspace(0, 10)))
plt.title('Whoo Hoo!!!')
Я получаю
![enter image description here]()
вместо
![enter image description here]()
Что я делаю неправильно?
Ответы
Ответ 1
Чтобы заставить его работать, вам нужно
- matplotlib 1.3.1 (он не будет работать с matplotlib 1.3.0 или ранее)
-
sudo pip install matplotlib --upgrade
- шрифт Юмор Санс
- загрузите из здесь или здесь, установите (в OS X вы откроете его и нажмите "Установить" )
- удалите кеш шрифта matplotlib (как предложено DanHickstein в matplotlib/issues/2269)
-
rm ~/.matplotlib/fontList.cache
Теперь выполните код и он должен работать.
Вам не нужно, чтобы изменить backend на TkAgg
, как это предлагают некоторые люди. Для меня он отлично работает на 'module://IPython.kernel.zmq.pylab.backend_inline'
(вы можете проверить его на plt.get_backend()
).
(У меня была та же проблема, и я решил ее, по крайней мере, на OS X 10.8.5, с matplotlib 1.3.1 и IPython 2.0.0, удаление шрифтового кеша было необходимо для запуска шрифта.)
Ответ 2
Из сообщения в блоге, которое вы связали:
Кроме того, если вы хотите, чтобы шрифт соответствовал выше, обязательно загрузите и установите шрифт Humor Sans в вашей системе. Чтобы matplotlib распознал его, вам может понадобиться удалить кеш шрифтов...
Что касается того, какую версию шрифта загружать, я бы попробовал самое последнее.
Ответ 3
Используя ubuntu 16.04 и python 3, с matplotlib 2.0.0 установлены следующие работы для меня.
- Установить Comic sans:
sudo apt install fonts-humor-sans
- Удалить кеш matplotlib:
rm ~/.cache/matplotlib -r