Визуализация макета GridSpec в Matplotlib

Beginner

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

Введение

Matplotlib - это библиотека визуализации данных для языка программирования Python. Она предоставляет широкий спектр инструментов для создания различных типов графиков и диаграмм. Модуль GridSpec в Matplotlib позволяет создавать гибкие и сложные макеты подграфиков. В этом руководстве мы узнаем, как использовать GridSpec для создания макетов подграфиков с несколькими столбцами/строками.

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

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

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

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

Импортируем необходимые библиотеки

Сначала нам нужно импортировать необходимые библиотеки. Мы будем использовать Matplotlib и GridSpec.

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

Создаем фигуру

Далее нам нужно создать фигуру с помощью функции plt.figure(). Мы можем установить параметр layout в значение "constrained", чтобы убедиться, что подграфики помещаются внутри фигуры.

fig = plt.figure(layout="constrained")

Создаем GridSpec

Мы можем создать объект GridSpec с помощью функции GridSpec(). Нам нужно указать количество строк и столбцов в нашей сетке. В этом примере мы создадим сетку 3x3.

gs = GridSpec(3, 3, figure=fig)

Добавляем подграфики в GridSpec

Мы можем добавить подграфики в GridSpec с помощью функции fig.add_subplot(). Мы можем указать расположение подграфика в сетке с использованием индексирования объекта GridSpec. Например, gs[0, :] задает первую строку и все столбцы.

ax1 = fig.add_subplot(gs[0, :])
ax2 = fig.add_subplot(gs[1, :-1])
ax3 = fig.add_subplot(gs[1:, -1])
ax4 = fig.add_subplot(gs[-1, 0])
ax5 = fig.add_subplot(gs[-1, -2])

Настраиваем подграфики

Мы можем настроить подграфики по необходимости. Например, мы можем установить заголовок фигуры с помощью функции fig.suptitle(), а также форматировать оси с помощью функции format_axes().

fig.suptitle("GridSpec")

def format_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)

format_axes(fig)

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

Наконец, мы можем отобразить график с помощью функции plt.show().

plt.show()

Резюме

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