fig:表示动画所在的画布。
func:表示每帧动画调用的函数。
frames:表示动画的长度(一次动画包含的帧数)。
interval:更新动画的频率,以ms为单位。
blit:是否更新所有点,默认为False。
导入库
% matplotlib
notebook
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
设置中文黑体
plt.rcParams["font.sans-serif"] = ["SimHei"]
plt.rcParams["axes.unicode_minus"] = False
准备正弦曲线数据
x = np.linspace(0, 2 * np.pi, 100)
y = np.sin(x)
创建画布和坐标系
fig = plt.figure(tight_layout=True)
ax = fig.add_subplot(111)
绘制 正弦曲线
ax.plot(x, y)
point_ani, = plt.plot(x[0], y[0], "ro")
text_pt = plt.text(4, 0.8, '', fontsize=16)
动画设计
def animate(i):
point_ani.set_data(x[i], y[i])
text_pt.set_text("x=%.2f,y=%.2f" % (x[i], y[i]))
return point_ani, text_pt,
ani = animation.FuncAnimation(fig=fig, func=animate, frames=100, interval=50, blit=False)
将动画保存为gif图片
ani.save("pratice7.3.gif", writer='pillow')
展示图表
plt.show()