Когда я вставляю фигуру matplotlib в мое окно tkinter, когда я запускаю свою программу, появляются дополнительные всплывающие окна. Они не влияют на функциональность моего графического интерфейса, но они немного раздражают.
Я написал базовый скрипт, который показывает проблему. Я запускаю это через Spyder:
import tkinter as tk
import matplotlib
matplotlib.use("TkAgg")
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, NavigationToolbar2Tk
from matplotlib.pyplot import figure as Figure
from matplotlib import pyplot as plt
class MyGUI(tk.Tk):
def __init__(self,master):
self.f=Figure(figsize=(5,5),dpi=100)
self.fig, self.ax= plt.subplots()
self.canvas = FigureCanvasTkAgg(self.fig,master)
self.toolbar=NavigationToolbar2Tk(self.canvas,master)
#self.toolbar.update()
self.canvas._tkcanvas.pack(padx=20, pady=20)
root =tk.Tk()
window=MyGUI(root)
root.mainloop()
Когда я запускаю это, я получаю три окна. Одним из них является корневое окно, которое показывает пустой график и панель инструментов (помечены как «tk») Это единственное окно, которое я хочу. Затем я получаю окно «Рисунок 1» с панелью инструментов и окно «Рисунок 2» с графиком и панелью инструментов. 
Из комментариев второй половины метода init, похоже, проблема в этой части.
self.f=Figure(figsize=(5,5),dpi=100)
self.fig, self.ax= plt.subplots()
self.canvas = FigureCanvasTkAgg(self.fig,master)
Однако я довольно новичок в объектно-ориентированном программировании и tkinter, и поэтому не достаточно опытен, чтобы понять, в чем ошибка. Есть идеи?