Общие метки осей для субграфиков в Matplotlib: руководство

Пройдите тест, узнайте какой профессии подходите

Я предпочитаю
0%
Работать самостоятельно и не зависеть от других
Работать в команде и рассчитывать на помощь коллег
Организовывать и контролировать процесс работы

Быстрый ответ

Если нужно задать общие названия для осей X и Y в matplotlib, которые применимы к каждому из субграфиков, используйте методы fig.supxlabel('Общее название для оси X') и fig.supylabel('Общее название для оси Y') после создания фигуры и субграфиков с помощью plt.subplots(). Это поможет компактно разместить нужные надписи и придать графику организованность и аккуратность.

Python
Скопировать код
import matplotlib.pyplot as plt

fig, axs = plt.subplots(2, 2)
fig.supxlabel('Общее название для оси X')
fig.supylabel('Общее название для оси Y')
plt.show()

Для использования supxlabel и supylabel версия matplotlib должна быть 3.4.0 или выше. Если у вас более ранняя версия, то вместо этих методов примените fig.text():

Python
Скопировать код
fig.text(0.5, 0.02, 'Общее название для оси X', ha='center')
fig.text(0.04, 0.5, 'Общее название для оси Y', ha='center', rotation='vertical')

Для выравнивания текста по центру используйте ha='center'. Подстройте координаты для fig.text(), чтобы настроить желаемое расположение меток.

Кинга Идем в IT: пошаговый план для смены профессии

Точная настройка: контролирование расположения и местоположения элементов

В случаях, когда требуется особое подход к субграфикам и необходимо синхронизировать ограничения и масштабы осей, можно использовать параметры sharex и sharey. Однако применение индивидуальных корректив поможет избежать пересечения надписей и обеспечит адекватные интервалы между осями для лучшей читаемости графиков.

Оси и деления: как синхронизировать?

Для одновременного изменения осей для всех субграфиков используйте:

Python
Скопировать код
fig, axs = plt.subplots(2, 2, sharex=True, sharey=True)

Настройка расположения: решаем проблему пересечения

Воспользуйтесь следующими методами, чтобы надписи не пересекались, особенно при различных размерах субграфиков:

Python
Скопировать код
fig.tight_layout()  # Или параметр constrained_layout=True при использовании plt.subplots()

Более детальный контроль над субграфиками

Для тонкой корректировки параметров субграфиков вы можете использовать gridspec:

Python
Скопировать код
fig.add_gridspec(nrows, ncols)

Деления: настройка меток

Для настройки меток делений используйте:

Python
Скопировать код
plt.tick_params(axis='both', which='major', labelsize=10) # Этот пример для основных делений осей.

Расширенное управление субграфиками

Названия субграфиков: задание уникальности

Присвойте каждому субграфику уникальное название:

Python
Скопировать код
axs[0, 1].set_xlabel('Уникальное название оси X для субграфика')

Воспользоваться скрытыми осями

Чтобы добавить невидимую ось поверх всех субграфиков, используйте:

Python
Скопировать код
fig.add_subplot(111, frame_on=False)
plt.tick_params(labelcolor='none', top=False, bottom=False, left=False, right=False)

gridspec: улучшим компоновку макета

С помощью add_gridspec создайте компоновку с разным количеством ячеек для субграфиков:

Python
Скопировать код
gs = fig.add_gridspec(2, 2)
ax1 = fig.add_subplot(gs[0, :]) # Если одному из графиков требуется больше пространства

Заботимся об эстетике с помощью tight_layout

Убедитесь, что ваши субграфики правильно организованы и выглядят привлекательно:

Python
Скопировать код
fig.tight_layout()

Визуализация

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

Динамическая визуализация

Чтобы наглядно представить данные, интегрируйте изображения:

Python
Скопировать код
axs[0, 0].imshow(image_data) # Изображение часто говорит сильнее слов!

Центральный заголовок для объединения субграфиков

Добавьте общий заголовок, чтобы субграфики были визуально связаны в единый комплекс:

Python
Скопировать код
fig.suptitle('Галерея данных')

Индивидуальная настройка субграфиков

Используйте отдельные функции для детального представления данных:

Python
Скопировать код
axs[1, 0].set_title('Детальный вид')

Несмотря на то, что каждый субграфик рассказывает свою историю, общие названия для осей xlabel и ylabel объединяют их в универсальный образ.

Полезные материалы

  1. Создание множественных субграфиков с помощью plt.subplots — Документация Matplotlib 3.8.2 — полное руководство по использованию множественных субграфиков в Matplotlib.
  2. matplotlib.pyplot.suptitle — Документация Matplotlib 3.8.2 — как вставить центральный заголовок для субграфиков, используя suptitle() в Matplotlib.
  3. matplotlib.pyplot.subplots_adjust — Документация Matplotlib 3.8.2 — точная настройка расстояния между субграфиками в Matplotlib.
  4. Общая ось — Документация Matplotlib 3.8.2 — пример использования общих осей в субграфиках Matplotlib.
  5. Учебник по Matplotlib 19 – субграфики – YouTube — видеоурок, в котором объясняется, как визуализировать данные, используя субграфики.
  6. matplotlib.figure — Документация Matplotlib 3.8.2 — понимание методов на уровне фигур и их настройка в Matplotlib.