Введение
В этом практическом занятии вы научитесь использовать классы помощников с фиксацией, находящиеся в offsetbox Matplotlib и mpl_toolkits.axes_grid1. С помощью этих классов вы создадите рисунок, содержащий текстовые боксы, круг и шкалу размеров.
Советы по работе с ВМ
После завершения запуска ВМ нажмите в левом верхнем углу, чтобы переключиться на вкладку Notebook и получить доступ к Jupyter Notebook для практики.
Иногда вам может потребоваться подождать несколько секунд, пока Jupyter Notebook не загрузится полностью. Валидация операций не может быть автоматизирована из-за ограничений Jupyter Notebook.
Если вы сталкиваетесь с проблемами во время обучения, не стесняйтесь обращаться к Labby. Оставьте отзыв после занятия, и мы оперативно решим проблему для вас.
Импорт библиотек
Для начала вам понадобится импортировать Matplotlib и необходимые модули.
import matplotlib.pyplot as plt
from matplotlib.offsetbox import AnchoredText
from matplotlib.patches import Circle
from mpl_toolkits.axes_grid1.anchored_artists import AnchoredDrawingArea, AnchoredSizeBar
Создайте рисунок
Создайте объект рисунка и оси с помощью функции subplots() Matplotlib.
fig, ax = plt.subplots()
ax.set_aspect(1.)
Добавьте текстовые боксы
Добавьте два текстовых бокса на рисунок, закрепленные за разными углами в левом верхнем углу рисунка.
at = AnchoredText("Figure 1a",
loc='upper left', prop=dict(size=8), frameon=True,
)
at.patch.set_boxstyle("round,pad=0.,rounding_size=0.2")
ax.add_artist(at)
at2 = AnchoredText("Figure 1(b)",
loc='lower left', prop=dict(size=8), frameon=True,
bbox_to_anchor=(0., 1.),
bbox_transform=ax.transAxes
)
at2.patch.set_boxstyle("round,pad=0.,rounding_size=0.2")
ax.add_artist(at2)
Нарисуйте круг
Нарисуйте круг в координатах оси.
ada = AnchoredDrawingArea(20, 20, 0, 0,
loc='upper right', pad=0., frameon=False)
p = Circle((10, 10), 10)
ada.da.add_artist(p)
ax.add_artist(ada)
Добавьте шкалу размеров
Нарисуйте горизонтальную шкалу длиной 0,1 в координатах данных, с фиксированной подписью снизу.
asb = AnchoredSizeBar(ax.transData,
0.1,
r"1$^{\prime}$",
loc='lower center',
pad=0.1, borderpad=0.5, sep=5,
frameon=False)
ax.add_artist(asb)
Отобразите рисунок
Отобразите рисунок с использованием функции show() Matplotlib.
plt.show()
Резюме
В этом практическом занятии вы узнали, как использовать встроенные классы Matplotlib из offsetbox и mpl_toolkits.axes_grid1 для создания рисунка с текстовыми боксами, кругом и шкалой размеров. Вы можете использовать эти классы для добавления информативных аннотаций и графики к своим рисункам.