#!/usr/bin/env python import numpy as np import pylab as pl from matplotlib.animation import FuncAnimation def update(n, img): data = np.sin(x**2+y**2+n*0.1) # img.set_data(data) img.set_array(data[:-1,:-1].ravel()) return img, fig2 = pl.figure() x, y = np.mgrid[-2:2:50j,-2:2:50j] base = np.sin(x**2+y**2) #img = pl.imshow(base) img = pl.pcolormesh(x, y, base) img.set_array(base[:-1,:-1].ravel()) im_ani = FuncAnimation(fig2, update, fargs=(img,), interval=45, blit=True) pl.show()
至于停止播放或者重复,就是对参数n进行简单的处理:
data = xt[min(n, 10),:,:] # 停止 data = xt[n % 11,:,:] # 循环 (未测试)