Введение
Matplotlib - это библиотека визуализации данных на Python, которая предоставляет различные инструменты и методы для создания визуально привлекательных графиков. Иногда необходимо создать место для метки оси y, чтобы избежать перекрытия или обрезания текста. В этом практическом занятии показано, как использовать модуль axes_grid для создания места для метки оси y в Matplotlib.
Советы по работе с ВМ
После запуска ВМ кликните в левом верхнем углу, чтобы переключиться на вкладку Notebook и получить доступ к Jupyter Notebook для практики.
Иногда вам может потребоваться подождать несколько секунд, пока Jupyter Notebook полностью загрузится. Валидация операций не может быть автоматизирована из-за ограничений Jupyter Notebook.
Если вы сталкиваетесь с проблемами во время обучения, не стесняйтесь обращаться к Labby. Оставьте отзыв после занятия, и мы оперативно решим проблему для вас.
Импортировать библиотеки и создать фигуру
Первым шагом является импорт необходимых библиотек и создание фигуры. Мы используем модуль matplotlib.pyplot для создания фигуры и модуль mpl_toolkits.axes_grid1 для создания места для метки оси y.
import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1 import make_axes_locatable
from mpl_toolkits.axes_grid1.axes_divider import make_axes_area_auto_adjustable
fig = plt.figure()
ax = fig.add_axes([0, 0, 1, 1])
Установить деления и метки оси Y
В этом шаге мы устанавливаем деления и метки для оси Y. Мы используем метод set_yticks для установки расположения деления оси Y и параметр labels для установки метки для деления оси Y.
ax.set_yticks([0.5], labels=["very long label"])
Создать место для метки оси Y
Теперь мы используем метод make_axes_area_auto_adjustable, чтобы создать место для метки оси Y. Этот метод автоматически调整 размер осей, чтобы вместить метку оси Y.
make_axes_area_auto_adjustable(ax)
Создать фигуру с двумя осями
В этом шаге мы создаем фигуру с двумя осями. Мы используем метод add_axes, чтобы добавить две оси к фигуре. Также мы задаем метку деления оси Y для первой оси и заголовок для второй оси.
fig = plt.figure()
ax1 = fig.add_axes([0, 0, 1, 0.5])
ax2 = fig.add_axes([0, 0.5, 1, 0.5])
ax1.set_yticks([0.5], labels=["very long label"])
ax1.set_ylabel("Y label")
ax2.set_title("Title")
Создать место для метки оси Y и настроить оси
В этом шаге мы используем метод make_axes_area_auto_adjustable, чтобы создать место для метки оси Y на обеих осях. Также мы используем параметр use_axes, чтобы указать оси для настройки, и параметр pad, чтобы настроить расстояние между осями.
make_axes_area_auto_adjustable(ax1, pad=0.1, use_axes=[ax1, ax2])
make_axes_area_auto_adjustable(ax2, pad=0.1, use_axes=[ax1, ax2])
Создать фигуру с двумя настраиваемыми осями
В этом шаге мы создаем фигуру с двумя настраиваемыми осями. Мы используем метод make_axes_locatable, чтобы создать делитель, который позволяет настраивать оси. Мы добавляем новую ось справа от первой оси с использованием метода append_axes.
fig = plt.figure()
ax1 = fig.add_axes([0, 0, 1, 1])
divider = make_axes_locatable(ax1)
ax2 = divider.append_axes("right", "100%", pad=0.3, sharey=ax1)
fig.add_axes(ax2)
Настроить оси и создать место для метки оси Y
В этом шаге мы используем метод add_auto_adjustable_area, чтобы настроить оси и создать место для метки оси Y. Также мы задаем заголовок и метку оси X для второй оси.
divider.add_auto_adjustable_area(use_axes=[ax1], pad=0.1,
adjust_dirs=["left"])
divider.add_auto_adjustable_area(use_axes=[ax2], pad=0.1,
adjust_dirs=["right"])
divider.add_auto_adjustable_area(use_axes=[ax1, ax2], pad=0.1,
adjust_dirs=["top", "bottom"])
ax1.set_yticks([0.5], labels=["very long label"])
ax2.set_title("Title")
ax2.set_xlabel("X - Label")
Резюме
В этом практическом занятии показано, как использовать модуль axes_grid в Matplotlib для создания места для метки оси Y. Мы использовали разные методы для настройки размера осей и создания места для метки оси Y в различных сценариях. Следуя этим шагам, вы можете создавать наглядные графики, которые легки для чтения и понимания.