#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 ?