Изменение размеров осей сConstrained Layout

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

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

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

Введение

В визуализации данных至关重要 иметь четкие и читаемые графики. Однако создание нескольких подграфиков может сделать сложным избежать перекрытий между объектами осей и метками. В таких случаях мы можем использовать функцию под названием constrained layout в Matplotlib, которая автоматически изменяет размеры подграфиков, чтобы предотвратить перекрытия между объектами осей и метками.

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

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

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

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

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

Начнем с импорта необходимых библиотек для создания подграфиков и построения данных.

import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec

Определение примера графика

Мы определяем функцию, которая создает простой линейный график с метками по оси x и y и заголовком.

def example_plot(ax):
    ax.plot([1, 2])
    ax.set_xlabel('x-label', fontsize=12)
    ax.set_ylabel('y-label', fontsize=12)
    ax.set_title('Title', fontsize=14)

Создание подграфиков безConstrained Layout

Мы создаем фигуру с 2x2 подграфиками без использования constrained layout. В результате метки на осях перекрываются.

fig, axs = plt.subplots(nrows=2, ncols=2, layout=None)

for ax in axs.flat:
    example_plot(ax)

Создание подграфиков сConstrained Layout

Мы создаем те же 2x2 подграфики, но на этот раз используем constrained layout. Это автоматически настраивает подграфики, чтобы предотвратить перекрытия между объектами осей и метками.

fig, axs = plt.subplots(nrows=2, ncols=2, layout='constrained')

for ax in axs.flat:
    example_plot(ax)

Создание вложенных GridSpec сConstrained Layout

Мы создаем более сложный пример, используя вложенные GridSpec с constrained layout. Это позволяет нам иметь больше контроля над макетом подграфиков.

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

gs0 = gridspec.GridSpec(1, 2, figure=fig)

gs1 = gridspec.GridSpecFromSubplotSpec(3, 1, subplot_spec=gs0[0])
for n in range(3):
    ax = fig.add_subplot(gs1[n])
    example_plot(ax)


gs2 = gridspec.GridSpecFromSubplotSpec(2, 1, subplot_spec=gs0[1])
for n in range(2):
    ax = fig.add_subplot(gs2[n])
    example_plot(ax)

plt.show()

Обзор

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

Обзор

Поздравляем! Вы завершили лабораторную работу "Изменение размеров осей сConstrained Layout". Вы можете практиковаться в других лабораторных работах в LabEx, чтобы улучшить свои навыки.