Python - 基于计时器更新绘图

时间:2017-08-02 03:14:56

标签: python matplotlib timer

我有一个2D数组列表,我使用matplotlib中的滑块绘制它们。
我在我的情节中添加了一些控制按钮,因此我想点击play按钮,图表会随着时间间隔而变化。
这是按钮调用的函数:

def play(mouse_event):    
    for x in range(len(listOfMoments)):
        image.set_data(listOfMoments[x]) 
        time.sleep(0.5)
        print(x)

print(x)表示x正常增加,但是,在增量完成后,它仅绘制列表的最后一个数组。 我的问题是:如何让它逐个绘制数组,如预期的那样?

我还应该提一下,我尝试了while循环并获得了相同的结果。

1 个答案:

答案 0 :(得分:1)

每次通过循环更改数据后,您需要告诉后端更新数字:

fig.canvas.draw()

这是documentation reference

如果您没有对Figure对象的引用,则可以使用fig = plt.gcf()检索它。