在matplolib for loop中遇到问题

2024-06-02 08:22:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在一系列图像上循环,看看它们是如何随时间变化的。因此,我想把它们画在同一个图上。下面的代码可以工作,但经过几次迭代后,速度似乎会减慢。有没有人知道为什么会发生这种情况,如何克服它,或者一个替代的方式来可视化这些图像随着时间的推移?你知道吗

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

Tags: 代码in图像for可视化方式时间fig
1条回答
网友
1楼 · 发布于 2024-06-02 08:22:25

动画正在变慢,因为旧图像没有被删除。每次调用fig.canvas.draw()时,将重新绘制越来越多的图像。因此,在imshow调用之前添加ax.cla()。Jake建议的教程不需要cla,因为它直接设置图像,因此速度会稍微快一些。你知道吗

相关问题 更多 >