Это сайт — моя персональная записная книжка. Интересна мне, по большей части, история, своя жизнь и немного программирование.

Графики в стиле xkcd

xkcd — культовая серия веб-комиксов. Когда-то я их обожал, но потом их перестали переводить, а мой английский в то время было недостаточно хорош, чтобы понимать их без посредников. Сейчас, наверное, можно было бы попытаться их читать, но уже нет желания.

У xkcd очень узнаваемый стиль рисовки и, когда я их вдруг встречаю, они по-прежнему вызывают у меня улыбку. Сегодня я узнал, что в «Пайтоне» есть возможность рисовать графики в этом стиле. Надо добавить всего одну строку — вызов метода plt.xkcd().

Вот код:

import matplotlib.pyplot as plt
import numpy as np

t = np.linspace(0, 2*np.pi, 1000)
x = 16 * np.sin(t)**3
y = 13 * np.cos(t) - 5 * np.cos(2*t) - 2 * np.cos(3*t) - np.cos(4*t)

plt.xkcd()

plt.figure(figsize=(8, 6))
plt.plot(x, y, color='b')
plt.title('cos(…) = ?')
plt.show()

А вот результат: