在matplotlib Python和更新图(python and update figure in

2019-07-30 17:58发布

我已经做了SO一搜索,但还没有完全找到了正确的“解决方案”,以我的问题。 我上运行,我想绘制一些数据的循环。 在循环的每一步 - 我与绘制的plt.show图()。 然而,由于这是一个阻塞函数,我坚持,直到我手动关闭窗口,然后继续循环和接下来的情节出现。

我想这样做是可以绑定一个按键事件,关闭的身材和继续循环(而不是使用鼠标“X”出来的人物)。

如果这是不可能的,我想设置一个计时器关闭图形并继续循环。

我所有的问题似乎解决的事实,plt.show()阻止一切 - 解决这个办法?

在我的阴谋的一些注意事项:它们使用相同的轴,但包含的散点图,填写框和注解 - 它总是在不断变化。

谢谢!

Answer 1:

尝试使用ionmatplotlib.pyplot

import matplotlib.pyplot as pp
pp.ion()
fig = pp.figure()

有关更多信息ion和交互与非交互式的使用在这里

另外,如果你想要去的按钮按下的办法分配回调

def moveon(event):
    pp.close()

cid = fig.canvas.mpl_connect('key_press_event', moveon)
pp.show()

事件计时器是更棘手,因为该show的命令是阻塞,所以它可能将不得不涉及线程。



文章来源: python and update figure in matplotlib