FuncAnimation不刷新

时间:2013-02-12 23:30:53

标签: matplotlib

我遇到了FuncAnimation的问题,我使用了一个稍微修改过的示例http://matplotlib.org/examples/animation/basic_example.html

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation


def update_line(num, data, line):
    data.pop(0)
    data.append(np.random.random())
    line.set_ydata(data)

    return line,

fig1 = plt.figure()
data = [0.0 for i in xrange(100)]
l, = plt.plot(data, 'r-')


plt.ylim(-1, 1)
line_ani = animation.FuncAnimation(fig1, update_line, 25, fargs=(data, l), interval=50, blit=True)


plt.show()

问题是第一行(由update_line更新)保留在后台。 如果我调整窗口大小(单击窗口的一角并移动鼠标)。第一行消失,但现在调整大小后的第一行保留在后台。

这是正常的,还是我做错了什么。

提前致谢

1 个答案:

答案 0 :(得分:1)

如果您对速度并不过分担心,请移除blit=True,它应该有效。

Blitting是一种通过仅重新绘制已更改的图形位(而不是所有内容)来节省时间的方法,但很容易搞砸。如果您不包含blit=True,则每次都会重新绘制所有艺术家。

我建议您阅读python matplotlib blit to axes or sides of the figure?Animating Matplotlib panel - blit leaves old frames behind