Введение
В визуализации данных至关重要 иметь четкие и читаемые графики. Однако создание нескольких подграфиков может сделать сложным избежать перекрытий между объектами осей и метками. В таких случаях мы можем использовать функцию под названием 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, чтобы улучшить свои навыки.