我正在构建一个GUI,其中某些模型的值将在单击按钮时显示图形。到目前为止,它适用于一个图,但是当我尝试绘制第二个图时,它们都已绘制但合并了。我希望它们在一帧内分别显示。现在,我正在使用tkinter画布进行绘图。这是我到目前为止所做的-
f = Figure(figsize=(3,3), dpi=100)
def graph1():
a = f.add_subplot(111)
a.plot([1, 2, 3, 4], [1, 4, 9, 16])
canvas = FigureCanvasTkAgg(f, self.RightFrame)
canvas.get_tk_widget().pack(side=LEFT)
canvas._tkcanvas.pack(side=LEFT)
def graph2():
a = f.add_subplot(121)
a.plot([6, 9, 12, 15], [20, 25, 30, 35])
canvas = FigureCanvasTkAgg(f, self.RightFrame)
canvas.get_tk_widget().pack(side=LEFT)
canvas._tkcanvas.pack(side=LEFT)
Button(self.RightFrame,text='Show Graph1',command=graph1).pack(side=TOP)
Button(self.RightFrame,text='Show Graph2',command=graph2).pack(side=TOP)
该框架的代码在下面-
self.RightFrame = Frame(Tab1)
self.RightFrame.place(relx=0.165, rely=0.066, relheight=0.83, relwidth=0.842)
self.RightFrame.configure(relief='groove')
self.RightFrame.configure(borderwidth="2")
我尝试使用grid和place而不是pack(),但还是一无所获。我想绘制至少4张图。我在做什么错/想念这里?谢谢
P.S。我暂时将样本值用于基本绘图。
答案 0 :(得分:0)
好的,我找到了一种绘图方法。我为每个图表使用单独的数字。但尚无法将导航工具栏对准每个图下方。
def graph1():
f = Figure(figsize=(3,3), dpi=100)
a = f.add_subplot(111)
a.plot([1, 2, 3, 4], [1, 4, 9, 16])
canvas = FigureCanvasTkAgg(f, self.RightFrame)
canvas.get_tk_widget().place(relx=0.010,rely=0.100)
toolbar = NavigationToolbar2Tk(canvas, self.RightFrame)
toolbar.update()
canvas._tkcanvas.place(relx=0.001,rely=0.100)
def graph2():
f2 = Figure(figsize=(3,3), dpi=100)
a = f2.add_subplot(111)
a.plot([6, 9, 12, 15], [20, 25, 30, 35])
canvas = FigureCanvasTkAgg(f2, self.RightFrame)
canvas.get_tk_widget().place(relx=0.310,rely=0.100)
toolbar = NavigationToolbar2Tk(canvas, self.RightFrame)
toolbar.update()
canvas._tkcanvas.place(relx=0.310,rely=0.100)