Простая аннотация в Matplotlib

Beginner

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

Введение

В этом практическом занятии вы научитесь добавлять аннотации к своим графикам Matplotlib. Аннотации помогают выделить конкретные точки данных или дать дополнительную информацию зрителю. Аннотации могут включать текст, стрелки и фигуры. Вы узнаете, как добавлять аннотации к графику, настраивать их и размещать в нужном месте.

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

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

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

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

Импорт Matplotlib

Прежде чем мы сможем начать работать с Matplotlib, нам нужно его импортировать. Следующий код импортирует Matplotlib и позволяет использовать его функции для построения графиков.

import matplotlib.pyplot as plt

Создайте график

Теперь мы создадим график для добавления аннотаций. Следующий код создаст график с двумя точками данных.

fig, ax = plt.subplots()
x = [1, 2]
y = [3, 4]
ax.plot(x, y, "o")

Добавьте текстовую аннотацию

Теперь мы добавим текстовую аннотацию к графику. Следующий код добавит текст "Data Point 1" к первой точке данных.

ax.annotate("Data Point 1", xy=(1, 3), xytext=(1.5, 3.5),
            arrowprops=dict(facecolor="black", shrink=0.05))

Добавьте стрелковую аннотацию

Теперь мы добавим стрелковую аннотацию к графику. Следующий код добавит стрелку от первой точки данных ко второй.

ax.annotate("", xy=(1, 3), xytext=(2, 4),
            arrowprops=dict(arrowstyle="->", connectionstyle="arc3"))

Добавьте аннотацию в виде фигуры

Теперь мы добавим аннотацию в виде фигуры к графику. Следующий код добавит прямоугольник вокруг второй точки данных.

bbox = dict(boxstyle="round", fc="0.8")
ax.annotate("Data Point 2", xy=(2, 4), xytext=(2.5, 4.5),
            bbox=bbox,
            arrowprops=dict(facecolor="black", shrink=0.05))

Настройте аннотации

Мы можем настроить аннотации, изменив размер шрифта, цвет шрифта и стиль стрелки. Следующий код изменит размер шрифта, цвет шрифта и стиль стрелки текстовой аннотации.

ax.annotate("Data Point 1", xy=(1, 3), xytext=(1.5, 3.5),
            arrowprops=dict(facecolor="black", shrink=0.05, arrowstyle="->"),
            fontsize=12, color="red")

Размещение аннотаций

Мы можем размещать аннотации с использованием различных систем координат. Следующий код размещает текстовую аннотацию с использованием координат данных, а стрелковую аннотацию - с использованием координат рисунка.

ax.annotate("Data Point 1", xy=(1, 3), xytext=(1.5, 3.5),
            arrowprops=dict(facecolor="black", shrink=0.05),
            xycoords="data", textcoords="data")
ax.annotate("", xy=(1, 3), xytext=(0.5, 0.5),
            arrowprops=dict(facecolor="black", shrink=0.05),
            xycoords="data", textcoords="figure fraction")

Резюме

В этом практическом занятии вы узнали, как добавлять аннотации к своим графикам в Matplotlib. Вы узнали, как добавлять текстовые, стрелковые и аннотации в виде фигур, настраивать их и размещать. Аннотации помогают выделить конкретные точки данных или дать дополнительную информацию зрителю.