Data Visualization

Два эффективных способа создания заголовков подграфиков в Matplotlib

Spread the love

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

Оглавление

Использование pyplot.suptitle()

Функция pyplot.suptitle() предлагает краткий способ добавления основного заголовка. Она является частью модуля matplotlib.pyplot (обычно импортируется как plt). Этот метод прост и широко используется.


import matplotlib.pyplot as plt

# Пример данных
x = [1, 2, 3, 4, 5]
y1 = [2, 4, 1, 3, 5]
y2 = [1, 3, 5, 2, 4]

# Создание подграфиков
fig, axes = plt.subplots(2, 1)

# Построение данных
axes[0].plot(x, y1)
axes[0].set_title('Подграфик 1')
axes[1].plot(x, y2)
axes[1].set_title('Подграфик 2')

# Добавление основного заголовка
plt.suptitle('Главный заголовок рисунка', fontsize=14)

# Корректировка компоновки (важно для предотвращения перекрытия)
plt.tight_layout(rect=[0, 0.03, 1, 0.95]) 

plt.show()

Функция plt.tight_layout() необходима. Она автоматически корректирует параметры подграфиков, чтобы предотвратить перекрытие заголовков. Параметр rect позволяет точно настроить компоновку; вам может потребоваться изменить его значения в зависимости от длины заголовка и количества подграфиков.

Использование figure.suptitle()

В качестве альтернативы, метод figure.suptitle(), доступный через сам объект figure, обеспечивает аналогичную функциональность. Этот подход соответствует объектно-ориентированному стилю программирования.


import matplotlib.pyplot as plt

# Пример данных (такой же, как выше)
x = [1, 2, 3, 4, 5]
y1 = [2, 4, 1, 3, 5]
y2 = [1, 3, 5, 2, 4]

# Создание подграфиков
fig, axes = plt.subplots(2, 1)

# Построение данных
axes[0].plot(x, y1)
axes[0].set_title('Подграфик 1')
axes[1].plot(x, y2)
axes[1].set_title('Подграфик 2')

# Добавление основного заголовка с помощью объекта figure
fig.suptitle('Главный заголовок рисунка (Объектно-ориентированный)', fontsize=14)

# Корректировка компоновки
plt.tight_layout(rect=[0, 0.03, 1, 0.95])

plt.show()

Этот код повторяет предыдущий пример, демонстрируя взаимозаменяемость этих двух методов.

Выбор правильного метода

Оба метода достигают идентичных результатов. Выбор часто сводится к личным предпочтениям или стилю кодирования. pyplot.suptitle() более краток, в то время как figure.suptitle() лучше соответствует строго объектно-ориентированному подходу. Последовательность в вашем проекте является ключом. Не забывайте всегда использовать plt.tight_layout() или вручную корректировать параметры подграфиков, чтобы обеспечить чистый и читаемый рисунок.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *