Создание курсора данных с использованием Matplotlib

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

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

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

Введение

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

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

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

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

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

Импортируем необходимые библиотеки

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

import matplotlib.pyplot as plt
import numpy as np

Создаем график

Создадим простой график параболы с использованием функции linspace из NumPy для генерации 1000 значений для x в диапазоне от -5 до 5, а затем вычислим y как квадрат x.

fig, ax = plt.subplots(figsize=(8, 6))
ax.set_title("Cursor Tracking x Position")

x = np.linspace(-5, 5, 1000)
y = x**2

line, = ax.plot(x, y)
ax.set_xlim(-5, 5)
ax.set_ylim(0, 25)

Создаем класс AnnotatedCursor

Создадим новый класс AnnotatedCursor, который наследуется от matplotlib.widgets.Cursor и демонстрирует создание новых виджетов и их обработчиков событий. Класс AnnotatedCursor используется для создания курсора в виде крестика с текстом, показывающим текущие координаты.

class AnnotatedCursor(Cursor):
    """
    A crosshair cursor like `~matplotlib.widgets.Cursor` with a text showing \
    the current coordinates.
   ...
    """

Инициализируем объект AnnotatedCursor

Инициализируем объект AnnotatedCursor, передав линию графика, line, в конструктор AnnotatedCursor.

cursor = AnnotatedCursor(line=line, ax=ax, useblit=True)

Отображаем график

Отображаем график с использованием метода show() из модуля pyplot библиотеки Matplotlib.

plt.show()

Резюме

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