代码如下:
# encoding: utf-8 import pylab as plt import numpy as np from matplotlib import animation from IPython.display import HTML import tempfile def animate(datalist, file_name=None, interval = 20, figsize=(3,3), **kwargs): fig, ax = plt.subplots(figsize=figsize) if file_name is None: file_name = tempfile.NamedTemporaryFile().name+'.gif' else: if file_name[-4:] != '.gif': file_name += '.gif' im = ax.imshow(datalist[0],**kwargs) def init(): im.set_data(datalist[0]) return im, def animate_gen(i): im.set_data(datalist[i]) return im, anim = animation.FuncAnimation(fig, animate_gen, frames=len(datalist), init_func = init, interval=interval, blit=True) anim.save(file_name,writer='imagemagick') return HTML('<img src="'+file_name+'"></img>')
以下是一个应用实例的代码:
a=np.random.random((100,100)) ims = [] for i in range(20): ims.append(a) a = a*np.exp(-0.001*i) animate(ims,file_name='animation1.gif')
以下是运行的结果:
完。