Аннотированные графики Matplotlib в Python

PythonPythonBeginner
Практиковаться сейчас

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

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

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

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

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

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

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

Настройка графика

Сначала нам нужно настроить график с двумя подграфиками. Мы будем использовать функцию subplots, чтобы создать сетку подграфиков размером 2x2, а затем определим координаты x и y двух точек.

import matplotlib.pyplot as plt
import matplotlib.patches as mpatches

fig, axs = plt.subplots(2, 2)
x1, y1 = 0.3, 0.3
x2, y2 = 0.7, 0.7

Соединить две точки стрелкой

В этом шаге мы соединим две точки стрелкой. Мы будем использовать функцию annotate для создания стрелки и настроим стиль и цвет стрелки.

ax = axs.flat[0]
ax.plot([x1, x2], [y1, y2], ".")
ax.annotate("",
            xy=(x1, y1), xycoords='data',
            xytext=(x2, y2), textcoords='data',
            arrowprops=dict(arrowstyle="-",
                            color="0.5",
                            connectionstyle="arc3,rad=0.3",
                            ),
            )

Добавить эллипс на график

В этом шаге мы добавим эллипс на график. Мы будем использовать функцию Ellipse для создания эллипса и настроим свойства эллипса, такие как позиция, ширина, высота и угол.

ax = axs.flat[1]
ax.plot([x1, x2], [y1, y2], ".")
el = mpatches.Ellipse((x1, y1), 0.3, 0.4, angle=30, alpha=0.2)
ax.add_artist(el)

Настроить стрелку для соединения с эллипсом

В этом шаге мы настроим стрелку для соединения с эллипсом. Мы будем использовать параметр arrowprops, чтобы указать, что стрелка должна соединяться с эллипсом, и также настроим стиль и цвет стрелки.

ax = axs.flat[2]
ax.plot([x1, x2], [y1, y2], ".")
el = mpatches.Ellipse((x1, y1), 0.3, 0.4, angle=30, alpha=0.2)
ax.add_artist(el)
ax.annotate("",
            xy=(x1, y1), xycoords='data',
            xytext=(x2, y2), textcoords='data',
            arrowprops=dict(arrowstyle="-",
                            color="0.5",
                            patchB=el,
                            connectionstyle="arc3,rad=0.3",
                            ),
            )

Настроить стрелку для сжатия до эллипса

В этом шаге мы настроим стрелку для сжатия до эллипса. Мы будем использовать параметр shrinkB, чтобы указать величину сжатия стрелки к эллипсу.

ax = axs.flat[3]
ax.plot([x1, x2], [y1, y2], ".")
el = mpatches.Ellipse((x1, y1), 0.3, 0.4, angle=30, alpha=0.2)
ax.add_artist(el)
ax.annotate("",
            xy=(x1, y1), xycoords='data',
            xytext=(x2, y2), textcoords='data',
            arrowprops=dict(arrowstyle="fancy",
                            color="0.5",
                            patchB=el,
                            shrinkB=5,
                            connectionstyle="arc3,rad=0.3",
                            ),
            )

Резюме

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