Настройка вложенных графиков с использованием GridSpec

Beginner

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

Введение

В этом уроке мы узнаем, как использовать GridSpec для генерации вложенных графиков, контролировать относительные размеры вложенных графиков с помощью width_ratios и height_ratios, а также расстояние вокруг и между вложенными графиками с использованием параметров вложенных графиков (left, right, bottom, top, wspace и hspace).

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

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

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

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

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

Начнем с импорта необходимых библиотек, которые это matplotlib.pyplot и GridSpec.

import matplotlib.pyplot as plt
from matplotlib.gridspec import GridSpec

Генерация вложенных графиков с использованием GridSpec

В этом шаге мы будем использовать GridSpec для генерации вложенных графиков. Создадим фигуру с 2 строками и 2 столбцами. Также укажем width_ratios и height_ratios, чтобы контролировать относительные размеры вложенных графиков.

fig = plt.figure()
gs = GridSpec(2, 2, width_ratios=[1, 2], height_ratios=[4, 1])
ax1 = fig.add_subplot(gs[0])
ax2 = fig.add_subplot(gs[1])
ax3 = fig.add_subplot(gs[2])
ax4 = fig.add_subplot(gs[3])

Управление расстоянием вокруг и между вложенными графиками

В этом шаге мы будем использовать GridSpec для управления расстоянием вокруг и между вложенными графиками. Создадим фигуру с 2 сетками (gridspec), каждая из которых имеет 3 строки и 3 столбца. Укажем параметры left, right, bottom, top, wspace и hspace для управления расстоянием.

fig = plt.figure()
gs1 = GridSpec(3, 3, left=0.05, right=0.48, wspace=0.05)
ax1 = fig.add_subplot(gs1[:-1, :])
ax2 = fig.add_subplot(gs1[-1, :-1])
ax3 = fig.add_subplot(gs1[-1, -1])

gs2 = GridSpec(3, 3, left=0.55, right=0.98, hspace=0.05)
ax4 = fig.add_subplot(gs2[:, :-1])
ax5 = fig.add_subplot(gs2[:-1, -1])
ax6 = fig.add_subplot(gs2[-1, -1])

Аннотация осей

В этом шаге мы будем аннотировать оси соответствующими номерами вложенных графиков.

def annotate_axes(fig):
    for i, ax in enumerate(fig.axes):
        ax.text(0.5, 0.5, "ax%d" % (i+1), va="center", ha="center")
        ax.tick_params(labelbottom=False, labelleft=False)

annotate_axes(fig)

Отображение графиков

В этом шаге мы будем отображать графики.

plt.show()

Резюме

В этом уроке мы узнали, как использовать GridSpec для генерации вложенных графиков и управления расстоянием вокруг и между ними. Мы также узнали, как аннотировать оси соответствующими номерами вложенных графиков. Эти навыки будут полезны при создании сложных графиков и визуализаций.