我正在尝试调用一个应该一个接一个地运行图像的函数。所以我希望出现第一个图像,当我关闭它时,会出现下一个图像。但是当我使用 tkinter 窗口中的按钮调用绘图函数时,我得到第一个绘图,然后执行停止。
下面是一个示例代码。我希望在关闭第一个图后出现下一个直方图。有趣的是,当我在 dubug 模式下运行它并强制循环运行时,这工作正常,但是当我运行它时,通常在第一个窗口关闭后没有任何反应。我怎么做有什么问题吗?什么是实现这一目标的好方法?
from tkinter import *
import numpy as np
import matplotlib.pyplot as plt
window = Tk()
window.geometry("400x400")
def plot_graph():
mean = [1,2,3,4]
sd = [0.1,0.2,0.3,0.4]
for m, s in zip(mean, sd):
print(f"plotting mean {m}, sd {sd}")
x = np.random.normal(m, s, 1000)
plt.figure(figsize=(10,8))
plt.hist(x)
plt.title(f"Normal Distribution Mean:{mean} SD:{sd}", fontsize=10)
plt.grid(alpha = 0.1)
plt.show()
graph_button = Button(window,text = "Generate Graph", command = plot_graph)
graph_button.place(x = 100, y = 100 )
window.mainloop()