python和matplotlib中的更新图

mcf*_*fly 6 python plot matplotlib figure

我已经对SO进行了搜索,但还没有找到解决问题的正确"解决方案".我在一些我希望绘制的数据上运行循环.在循环的每一步 - 我用plt.show()绘制图形.但是,因为这是一个阻塞功能,所以直到我手动关闭窗口然后循环继续并且下一个图显示为止.

我想要做的是能够绑定按键事件以关闭图形并继续循环(而不是使用鼠标从图中"X").

如果这是不可能的,我想设置一个计时器来关闭数字并继续循环.

我所有的问题似乎都解决了plt.show()阻止其他一切的事实 - 任何解决方法?

关于我的情节的一些注释:它们使用相同的轴,但包含散点图,填充框和注释 - 它们总是在变化.

谢谢!

jme*_*etz 5

尝试使用ion来自matplotlib.pyplot:

import matplotlib.pyplot as pp
pp.ion()
fig = pp.figure()
Run Code Online (Sandbox Code Playgroud)

有关ion交互式与非交互式用法的更多信息,请点击此处

或者,如果您想使用按钮按下方法来指定回调

def moveon(event):
    pp.close()

cid = fig.canvas.mpl_connect('key_press_event', moveon)
pp.show()
Run Code Online (Sandbox Code Playgroud)

事件计时器更棘手,因为show命令是阻塞的,因此它可能必须涉及线程.