2016-04-06 89 views
0

我想循環播放一系列圖片,看看它們隨時間變化的方式。因此,我希望他們繪製在同一個圖上。下面的代碼工作,但似乎減少幾次迭代後。有人知道爲什麼會發生這種情況,如何克服它,或者隨着時間的推移可視化這些圖像的替代方法?Matplolib for loop出現問題變得越來越慢

fig, ax=pyplot.subplots(figsize=(8,6)) 
for i in range(n): 
    ax.imshow(imageArray[i]) 
    fig.canvas.draw() 
    time.sleep(0.2) 
+0

目前還不清楚你準備在這裏做什麼;你能澄清一下嗎? –

+0

是這樣的嗎? [matplotlib imshow如何動畫](http://stackoverflow.com/questions/17212722/matplotlib-imshow-how-to-animate) – Reti43

+0

爲什麼你不按照傑克的教程?它做得非常好! :) –

回答

2

由於舊圖像未被刪除,動畫變得越來越慢。每當您撥打fig.canvas.draw()時,將會重新繪製越來越多的圖像。因此在imshow呼叫之前添加ax.cla()。 Jake建議的教程不需要cla,因爲它直接設置圖像,因此會稍快一點。