Мне нужно использовать функцию plot из библиотеки MNE, которая возвращает значение matplotlib моего графика.
Поскольку я создаю приложение под Tkinter, я хочу, чтобы фигура появилась в окне моего приложения.
Я использовал этот код. Сюжет появляется как в окне приложения, так и на другой фигуре matplotlib. Проблема состоит в том, что в приложении появляется stati c, это просто экземпляр фигуры matplotlib, и мне нужен интерактивный.
import tkinter as tk
from tkinter import ttk
from tkinter.filedialog import askopenfile
import matplotlib
matplotlib.use("TkAgg")
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, NavigationToolbar2Tk
from matplotlib.figure import Figure
from matplotlib import pyplot as plt
import mne
root = tk.Tk()
frame2 = tk.Frame(root)
frame2.pack(side= tk.LEFT,ipadx=500,ipady=350)
#Data path
file = 'C:\\Users\\...\chb01_01.edf'
#EDF to MNE Raw
data_raw = mne.io.read_raw_edf(file, preload=True)
but1 = tk.Button(frame2, text="plot",
command=lambda: time_plot(data_raw))
but1.pack()
def time_plot(data_raw):
f = data_raw.plot(duration=5, n_channels=23)
canvas = FigureCanvasTkAgg(f, frame2)
toolbarFrame = tk.Frame(frame2)
toolbarFrame.pack(side=tk.TOP, fill=tk.BOTH, expand=True)
toolbar = NavigationToolbar2Tk(canvas, toolbarFrame)
canvas.get_tk_widget().pack(side=tk.TOP, fill=tk.BOTH, expand=True)
root.mainloop()
Есть идеи, как решить проблему?