Визуализация с помощью Matplotlib в стиле XKCD

Beginner

This tutorial is from open-source community. Access the source code

Введение

Matplotlib - это библиотека визуализации данных, которая предоставляет различные инструменты для создания 2D и 3D графиков. Она построена поверх библиотеки NumPy, и ее главная цель - это визуализировать данные простым и эффективным способом. В этом руководстве мы узнаем, как создать два разных типа графиков в стиле xkcd из веб-комикса XKCD.

Советы по работе с ВМ

После запуска ВМ нажмите в левом верхнем углу, чтобы переключиться на вкладку Notebook и получить доступ к Jupyter Notebook для практики.

Иногда вам может потребоваться подождать несколько секунд, пока Jupyter Notebook не загрузится полностью. Валидация операций не может быть автоматизирована из-за ограничений в Jupyter Notebook.

Если вы сталкиваетесь с проблемами во время обучения, не стесняйтесь обращаться к Labby. Оставьте отзыв после занятия, и мы оперативно решим проблему для вас.

Импорт библиотек

Первым шагом является импорт необходимых библиотек. Мы будем использовать библиотеки matplotlib.pyplot и numpy.

import matplotlib.pyplot as plt
import numpy as np

Создание графика в стиле xkcd

В этом шаге мы создадим график в стиле xkcd, который покажет зависимость между временем и общим состоянием здоровья. График основан на комиксе "Владение печью" из XKCD.

with plt.xkcd():
    fig = plt.figure()
    ax = fig.add_axes((0.1, 0.2, 0.8, 0.7))
    ax.spines[['top', 'right']].set_visible(False)
    ax.set_xticks([])
    ax.set_yticks([])
    ax.set_ylim([-30, 10])

    data = np.ones(100)
    data[70:] -= np.arange(30)

    ax.annotate(
        'THE DAY I REALIZED\nI COULD COOK BACON\nWHENEVER I WANTED',
        xy=(70, 1), arrowprops=dict(arrowstyle='->'), xytext=(15, -10))

    ax.plot(data)

    ax.set_xlabel('time')
    ax.set_ylabel('my overall health')
    fig.text(
        0.5, 0.05,
        '"Stove Ownership" from xkcd by Randall Munroe',
        ha='center')

plt.show()

Создание столбчатой диаграммы в стиле xkcd

В этом шаге мы создадим столбчатую диаграмму в стиле xkcd. Диаграмма основана на комиксе "Данные на данный момент" из XKCD.

with plt.xkcd():
    fig = plt.figure()
    ax = fig.add_axes((0.1, 0.2, 0.8, 0.7))
    ax.bar([0, 1], [0, 100], 0.25)
    ax.spines[['top', 'right']].set_visible(False)
    ax.xaxis.set_ticks_position('bottom')
    ax.set_xticks([0, 1])
    ax.set_xticklabels(['CONFIRMED BY\nEXPERIMENT', 'REFUTED BY\nEXPERIMENT'])
    ax.set_xlim([-0.5, 1.5])
    ax.set_yticks([])
    ax.set_ylim([0, 110])

    ax.set_title("CLAIMS OF SUPERNATURAL POWERS")

    fig.text(
        0.5, 0.05,
        '"The Data So Far" from xkcd by Randall Munroe',
        ha='center')

plt.show()

Обзор

В этом руководстве мы узнали, как создавать два разных типа графиков в стиле xkcd из веб-комикса XKCD. Сначала мы создали график в стиле xkcd, который показывает зависимость между временем и общим состоянием здоровья. Затем мы создали столбчатую диаграмму в стиле xkcd, которая основана на комиксе "Данные на данный момент" из XKCD. Используя стиль xkcd, мы можем создавать забавные и привлекательные визуализации, которые обязательно привлечут внимание нашего аудитории.