Введение
В этом практическом занятии мы научимся использовать Matplotlib Axes Divider для создания пользовательских макетов для подграфиков в рисунке.
Советы по работе с ВМ
После запуска виртуальной машины кликните в левом верхнем углу, чтобы переключиться на вкладку Ноутбук и получить доступ к Jupyter Notebook для практики.
Иногда вам может потребоваться подождать несколько секунд, пока Jupyter Notebook не загрузится полностью. Валидация операций не может быть автоматизирована из-за ограничений Jupyter Notebook.
Если вы сталкиваетесь с проблемами во время обучения, не стесняйтесь обращаться к Labby. Оставьте отзыв после занятия, и мы оперативно решим проблему для вас.
Импортируем необходимые библиотеки
Начнем с импорта необходимых библиотек для этого практического занятия: matplotlib.pyplot и mpl_toolkits.axes_grid1.
import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1 import Divider
import mpl_toolkits.axes_grid1.axes_size as Size
Настраиваем рисунок и оси
Создадим объект рисунка и настроим четыре объекта осей с использованием метода fig.add_axes.
fig = plt.figure(figsize=(5.5, 4))
rect = (0.1, 0.1, 0.8, 0.8)
ax = [fig.add_axes(rect, label="%d" % i) for i in range(4)]
Настраиваем делитель осей
Настроим делитель осей с использованием класса Divider и классов AxesX и AxesY из модуля mpl_toolkits.axes_grid1.axes_size. Затем используем метод new_locator для настройки позиции каждой оси.
horiz = [Size.AxesX(ax[0]), Size.Fixed(.5), Size.AxesX(ax[1])]
vert = [Size.AxesY(ax[0]), Size.Fixed(.5), Size.AxesY(ax[2])]
divider = Divider(fig, rect, horiz, vert, aspect=False)
ax[0].set_axes_locator(divider.new_locator(nx=0, ny=0))
ax[1].set_axes_locator(divider.new_locator(nx=2, ny=0))
ax[2].set_axes_locator(divider.new_locator(nx=0, ny=2))
ax[3].set_axes_locator(divider.new_locator(nx=2, ny=2))
Настраиваем пределы осей и внешний вид
Настроим пределы и внешний вид каждой оси с использованием методов set_xlim, set_ylim и tick_params.
ax[0].set_xlim(0, 2)
ax[1].set_xlim(0, 1)
ax[0].set_ylim(0, 1)
ax[2].set_ylim(0, 2)
for ax1 in ax:
ax1.tick_params(labelbottom=False, labelleft=False)
Отображаем график
Наконец, мы отобразим график с использованием метода show.
plt.show()
Резюме
В этом практическом занятии мы узнали, как использовать делитель осей Matplotlib для создания пользовательских макетов для вложенных графиков в рисунке. Мы создали объект рисунка и настроили четыре объекта осей, а затем использовали делитель осей для размещения осей в сетке. Мы настроили пределы и внешний вид каждой оси и отобразили график с использованием метода show.