I am unable to get matplotlib animations to work properly. Some of the data from
the previous frame is getting included.
I have included some example code that shows this. When draw() is called in the
loop, it draws the data from the previous frame for y<0.15 (ca), and from the
current frame for larger y. The final show() does *not* lag even if set_ydata
has not been called since the last draw().
This is with version 0.72. Any ideas about what is happening?
-- code follows
# animate increasing terms in fourier expansion of y=x
from pylab import *
from time import sleep
samples = 1000
max_k = 3
x = arange(0.0, 1.0, 1.0/samples)
s = zeros((max_k,samples), Float)
for k in range(1,max_k):
s[k] = s[k-1]+(-1)**(k+1)*sin(pi*x*k)/k
ion() # to force window creation
line, = plot(x, x*1.3, linewidth=1.0)
grid(True)
ioff()
for k in range(1,max_k):
line.set_ydata(2/pi*s[k])
title('k = '+str(k))
draw()
sleep(1)
show()
···
--
j