animation.FuncAnimation函数
animation.FuncAnimation 函数是用来创建动画的。它的基本用法是:
animation.FuncAnimation(fig, func, frames, interval)
其中:
- fig 是指定动画所在的图形窗口。
- func 是用来更新动画的函数。
- frames 是动画的帧数。
- interval是动画的帧间隔时间。
下面是一个简单的例子:
import matplotlib.pyplot as plt
import matplotlib.animation as animation
import numpy as np
fig, ax = plt.subplots()
xdata, ydata = [], []
ln, = plt.plot([], [], 'ro')
def init():
ax.set_xlim(0, 2*np.pi)
ax.set_ylim(-1, 1)
return ln,
def update(frame):
xdata.append(frame)
ydata.append(np.sin(frame))
ln.set_data(xdata, ydata)
return ln,
ani = animation.FuncAnimation(fig, update, frames=np.linspace(0, 2*np.pi, 128),
init_func=init, blit=True)
plt.show()
实战
import matplotlib.pyplot as plt
import numpy as np
from matplotlib import animation
fig,ax =plt.subplots()
x=np.arange(0,2*np.pi,0.01)
line,=ax.plot(x,np.sin(x))
def animate(i):
line.set_ydata(np.sin(x+i/10))
return line,
def init():
line.set_ydata(np.sin(x))
return line,
ani=animation.FuncAnimation(fig=fig,func=animate,frames=100,init_func=init,interval=20,blit=True)
plt.show()