更新绘图而无需使用绘图关闭窗口

时间:2014-09-07 15:18:57

标签: python numpy matplotlib

我有一个创建情节的功能。该函数在循环内调用,该循环更新有关要绘制的对象的信息。在调用draw()之后,我要求用户按一个键。我遇到的问题是,当我执行程序时,绘图出现在一个新窗口中,代码执行停止,直到我关闭该窗口。只有在执行用户输入提示时才会这样。我怎么能这样做,所以我不需要关闭情节,但只需按Enter键,情节会自动更新,然后我不必关闭窗口?谢谢!

def draw(self):
        #### more code

        fig, ax = plt.subplots()
        im = ax.imshow(p, extent=[x.min(), x.max(), y.min(), y.max()])
        ax.quiver(x[skip], y[skip], dx[skip], dy[skip])

        fig.colorbar(im)
        ax.set(aspect=1, title='Impulse world')

        print self.player

        circle = plt.Circle((self.player.pos_x, self.player.pos_y), radius=25, fc='w')
        plt.gca().add_patch(circle)

        #### more code

        plt.show()


#inside a loop
draw()
raw_input("press enter to continue...")

1 个答案:

答案 0 :(得分:1)

您是否尝试过plt.show(block = False)?