Одновременное отображение курсора в Matplotlib

Beginner

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

Введение

В этом руководстве показано, как использовать функцию matplotlib.widgets.MultiCursor для отображения курсора на нескольких графиках одновременно.

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

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

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

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

Импорт библиотек

Первым шагом является импорт необходимых библиотек, которые это matplotlib.pyplot и numpy.

import matplotlib.pyplot as plt
import numpy as np

Создание данных

Далее мы создадим некоторые данные для наших графиков. В этом примере мы создадим три синусоидальные волны с разными частотами.

t = np.arange(0.0, 2.0, 0.01)
s1 = np.sin(2*np.pi*t)
s2 = np.sin(3*np.pi*t)
s3 = np.sin(4*np.pi*t)

Создание графиков

Теперь мы создадим три подграфика с использованием функции plt.subplots. Два графика будут созданы в одной фигуре, а третий график будет создан в отдельной фигуре.

fig, (ax1, ax2) = plt.subplots(2, sharex=True)
ax1.plot(t, s1)
ax2.plot(t, s2)
fig, ax3 = plt.subplots()
ax3.plot(t, s3)

Добавление MultiCursor

Наконец, мы добавим функцию MultiCursor, чтобы отобразить курсор на всех трех графиках при наведении на точку данных.

multi = MultiCursor(None, (ax1, ax2, ax3), color='r', lw=1)
plt.show()

Резюме

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