Введение
matplotlib.widgets.Cursor - полезный инструмент для исследования данных, нанесенных на график Matplotlib. Он позволяет интерактивно отображать значения x и y точки данных под курсором.
Советы по работе с ВМ
После завершения запуска ВМ щелкните в верхнем левом углу, чтобы переключиться на вкладку Notebook и получить доступ к Jupyter Notebook для практики.
Иногда вам может потребоваться подождать несколько секунд, пока Jupyter Notebook не загрузится полностью. Валидация операций не может быть автоматизирована из-за ограничений в Jupyter Notebook.
Если вы сталкиваетесь с проблемами во время обучения, не стесняйтесь обращаться к Labby. Оставьте отзыв после занятия, и мы оперативно решим проблему для вас.
Импортировать необходимые библиотеки
В этом шаге мы импортируем необходимые библиотеки: matplotlib.pyplot и numpy.
import matplotlib.pyplot as plt
import numpy as np
Генерировать данные
В этом шаге мы генерируем случайные точки данных с использованием numpy.
## Fixing random state for reproducibility
np.random.seed(19680801)
## Generate random data points
x, y = 4*(np.random.rand(2, 100) -.5)
Создать фигуру и оси
В этом шаге мы создаем объект фигуры и оси с использованием plt.subplots.
fig, ax = plt.subplots(figsize=(8, 6))
Построить точки данных
В этом шаге мы наносим сгенерированные точки данных на объект осей.
ax.plot(x, y, 'o')
ax.set_xlim(-2, 2)
ax.set_ylim(-2, 2)
Создать курсор
В этом шаге мы создаем объект курсора с использованием класса Cursor и передаем в качестве аргумента объект осей. Мы также указываем цвет курсора и ширину линии.
cursor = Cursor(ax, useblit=True, color='red', linewidth=2)
Показать график
В этом шаге мы показываем график с использованием plt.show().
plt.show()
Резюме
В этом руководстве мы узнали, как использовать matplotlib.widgets.Cursor для интерактивного отображения значений x и y точки данных под курсором. Мы сгенерировали случайные точки данных с использованием numpy, создали объект фигуры и оси, нанесли точки данных, создали объект курсора и показали график с использованием plt.show().