Matplotlib之animation动画

用animation画一个y=sin(x)的动画函数。

代码如下:

from numpy import *
import matplotlib.pyplot as plt
from matplotlib import animation

fig,ax=plt.subplots()   #相当于fig=plt.figure(),ax=plt.subplot();ax=plt.subplot也可以是ax=fig.add_subplot()
x=arange(0,2*pi,0.01)
line,=ax.plot(x,sin(x))

def update(i):
    line.set_ydata(sin(x+i/10))
    return line,
def init():
    line.set_ydata(sin(x))
    return line,

ani=animation.FuncAnimation(fig=fig,func=update,frames=100,init_func=init,interval=20,blit=False)
plt.show()

注:

  • fig,ax=plt.subplots()     #相当于fig=plt.figure(),ax=plt.subplot();ax=plt.subplot也可以是ax=fig.add_subplot():

fig=plt.figure()表示为当前这个画布命名为fig

ax=plt.subplot()或ax=fig.add_subplot()表示将当前画布进行分割,默认分割成1行1列,ax在第一个画布。

  • FuncAnimation函数:ani=animation.FuncAnimation(fig=fig,func=update,frames=100,init_func=init,interval=20,blit=False):

1.fig:绘制动画的画布

2.func:动画函数

3.frams:动画长度,一次循环包含的帧数,在函数运行时,其值会传给动画函数update(i)的形参i

4.init_func:动画的起始状态

5.interval:更新频率,interval=20表示每隔20ms从头来一次

6.blit:是否更新整张图,False表示更新整张图,True表示只更新有变化的点。mac用户请使blit=False。

 

 

上一篇:python数据可视化之 Matplotlib


下一篇:python-matplotlib库的基本用法(二)