我已经对SO进行了搜索,但还没有找到解决问题的正确“解决方案”。我在一些我希望绘制的数据上运行循环。在循环的每一步 - 我用plt.show()绘制图形。但是,因为这是一个阻塞功能,所以直到我手动关闭窗口然后循环继续并且下一个图显示为止。
我想要做的是能够绑定按键事件以关闭图形并继续循环(而不是将鼠标用于图中的“X”)。
如果无法做到这一点,我想设置一个计时器来关闭数字并继续循环。
我所有的问题似乎都解决了plt.show()阻止其他一切的事实 - 任何解决方法?
关于我的情节的一些注释:它们使用相同的轴,但包含散点图,填充框和注释 - 它们总是在变化。
谢谢!
答案 0 :(得分:5)
尝试使用ion
中的matplotlib.pyplot
:
import matplotlib.pyplot as pp
pp.ion()
fig = pp.figure()
有关ion
和互动与非交互式使用here
或者,如果您想按下按钮,则按下方法分配回叫
def moveon(event):
pp.close()
cid = fig.canvas.mpl_connect('key_press_event', moveon)
pp.show()
事件计时器更棘手,因为show
命令正在阻塞,因此它可能必须涉及线程。