import numpy as np import time from mayavi import mlab a=np.loadtxt("s2d3.dat") nx,ny=np.shape(a) niter=int(nx/ny) print (nx,ny,niter) X1 = np.arange(0,ny-1) Y1 = np.arange(0,ny-1) X, Y = np.meshgrid(X1, Y1) Z=a[X,Y]*0.1 fig=mlab.figure(size=(1000,700)) s=mlab.mesh(X,Y,Z) mlab.axes(extent=[0,ny,0,ny,0,50],nb_labels=6) @mlab.animate(delay=100) def anim(): f=mlab.gcf() for i in range(niter): X1 = np.arange(i*ny,(i+1)*ny-1) Y1 = np.arange(0,ny-1) X, Y = np.meshgrid(X1, Y1) Z=a[X,Y]*0.1 s.mlab_source.set(x=X-ny*i,y=Y,z=Z) yield anim() mlab.show()