From: Joachim B. H. <cj...@fy...> - 2005-03-14 11:41:21
|
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 |