当我在画布上绘制一个新图形时,上一个图形是否会被销毁,而不是堆叠在右侧?我尝试了一些东西,比如使用.destroy()
,但似乎没有任何效果。。。每次我点击绘图按钮时,它都会将新图形放到右侧。我不知道如何解决它,所以任何帮助都是非常受欢迎的
下面是我按下按钮时发生的情况的图片:另一个图形添加到右侧。我只想要一个(当我按下按钮时得到的最后一个)
这是我的密码:
class StartPage(tk.Frame):
def __init__(self, parent, controller):
tk.Frame.__init__(self, parent)
self.controller = controller
button2 = ttk.Button(self, text="draw",command=lambda: func1())
button2.pack()
entry1 = Entry(self,width = 20)
entry1.pack()
entry2 = Entry(self,width = 20)
entry2.pack()
entry3 = Entry(self,width = 20)
entry3.pack()
def func1():
rho = float(entry1.get())
sigma = float(entry2.get())
beta = float(entry3.get())
def f(state, t):
x, y, z = state
return sigma * y, z-sigma, rho*x * y - beta * z
state0 = [4.0, 3.0, 2.0]
t = np.arange(0.0, 40.0, 0.01)
states = odeint(f, state0, t)
fig = plt.figure()
canvas = FigureCanvasTkAgg(fig, self)
canvas.draw()
ax = fig.gca(projection='3d')
ax.plot(states[:, 0], states[:, 1], states[:, 2])
canvas.get_tk_widget().pack(side=tk.LEFT,fill=tk.BOTH, expand=True)
您可以创建
fig
和canvas
外部func1()
并更新其中的图形:相关问题 更多 >
编程相关推荐