Создание вложенных графиков (subplots) с использованием Matplotlib

MatplotlibMatplotlibBeginner
Практиковаться сейчас

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

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

Matplotlib - популярная библиотека визуализации данных на Python. Она предоставляет различные функции для создания различных типов графиков. Одной из ключевых особенностей является возможность создания вложенных графиков (subplots). Это позволяет пользователям создавать несколько графиков в одной фигуре, что делает сравнение различных наборов данных или представлений одного и того же набора данных проще. В этом практическом занятии мы рассмотрим процесс создания вложенных графиков с использованием Matplotlib.

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

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

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

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

Создание фигуры с одним вложенным графиком (subplot)

Самый простой способ создать один вложенный график - использовать функцию subplots() без аргументов. Эта функция возвращает объект Figure и один объект Axes.

import matplotlib.pyplot as plt

fig, ax = plt.subplots()

Складывание вложенных графиков (subplots) в одном направлении

Для создания нескольких вложенных графиков, накладываемых вертикально или горизонтально, мы можем передать количество строк и столбцов в качестве аргументов функции subplots(). Возвращенный объект axs - это одномерный массив numpy, содержащий список созданных объектов Axes.

fig, axs = plt.subplots(2)
axs[0].plot(x, y)
axs[1].plot(x, -y)

Складывание вложенных графиков (subplots) в двух направлениях

Для создания сетки вложенных графиков мы можем передать количество строк и столбцов в качестве аргументов функции subplots(). Возвращенный объект axs - это двухмерный массив NumPy.

fig, axs = plt.subplots(2, 2)
axs[0, 0].plot(x, y)
axs[0, 1].plot(x, y, 'tab:orange')
axs[1, 0].plot(x, -y, 'tab:green')
axs[1, 1].plot(x, -y, 'tab:red')

Общий масштаб осей (Sharing Axes)

По умолчанию каждая ось (Axes) масштабируется отдельно. Чтобы выровнять горизонтальную или вертикальную ось вложенных графиков, мы можем использовать параметры sharex или sharey.

fig, (ax1, ax2) = plt.subplots(2, sharex=True)
ax1.plot(x, y)
ax2.plot(x + 1, -y)

Полярные оси (Polar Axes)

Мы можем создать сетку полярных осях (Axes), передав параметр projection='polar' в функцию subplots().

fig, (ax1, ax2) = plt.subplots(1, 2, subplot_kw=dict(projection='polar'))
ax1.plot(x, y)
ax2.plot(x, y ** 2)

Резюме

В этом практическом занятии мы узнали, как создавать вложенные графики (subplots) с использованием Matplotlib. Мы рассмотрели создание рисунка с одним вложенным графиком, накладывание вложенных графиков в одном направлении, накладывание вложенных графиков в двух направлениях, совместное использование осей и создание полярных осях. Используя эти методы, мы можем создавать сложные визуализации, которые позволяют сравнивать и анализировать сразу несколько наборов данных.