Есть готовая к использованию кнопка панели инструментов matplotlib для измерения дельты оси в выбранном диапазоне?

#python #matplotlib #tkinter #toolbar

#питон #matplotlib #tkinter #панель инструментов

Вопрос:

У меня есть простое приложение matplotlib figure с панелью инструментов, кодом:

 import tkinter as tk
import numpy as np

from matplotlib import pyplot
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, NavigationToolbar2Tk

root = tk.Tk()

fig, ax = pyplot.subplots()
arr = np.arange(0, 3, .01)
ax.plot(arr, 2 * np.sin(2 * np.pi * arr))

canvas = FigureCanvasTkAgg(fig, master=root)
canvas.draw()

NavigationToolbar2Tk(canvas, root)

canvas.get_tk_widget().pack(side=tk.TOP, fill=tk.BOTH, expand=1)

tk.mainloop()
 

Результат:
Результат кода

Я хочу добавить интерактивную кнопку инструмента «Измерение диапазона», чтобы показать дельту значений X в выбранном диапазоне.

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

Желаемый пример (созданный с помощью paint): Желаемая функция

Я знаю, что могу реализовать это с помощью привязок событий canvas, но прежде чем делать это, я хочу знать, есть ли такая вещь, готовая к использованию? Спасибо!

Комментарии:

1. Я верю, что ты можешь сделать это с графаной ( grafana.com ). Я никогда не использовал его, но есть этот учебник ( medium.com/swlh /… ) о том, как создать панель управления grafana с помощью python

2. Вы имеете в виду что-то вроде SpanSelector ?