matplotlib.animation 制作动图 发表于 2020-09-18 | 分类于 软件使用 | 评论数: import numpy as npimport matplotlib.pyplot as pltimport matplotlib.animation as anifig, ax = plt.subplots()# 横坐标取值m, n = 100, 20x = np.linspace(0, 4*np.pi, n)y = np.zeros((m, n))for i in range(m): y[i] = np.sin(x+2*np.pi*i/m)# 在画纸上画出零时刻第一条线 lnln, = ax.plot(x, y[0], 'ro')def init(): """FuncAnimation 所需要的动画初始设置, 返回值为零时刻的线 ln""" ax.set_xlim(0, 4*np.pi) ax.set_ylim(-1, 1) return ln,def update(i): """ FuncAnimation 所需要的更新函数, 对于第 i 帧, 修改纵轴数据为 y 的第 i 行 返回值为更新后的第 i 帧对应的线 """ ln.set_data(x, y[i]) return ln,# 进行绘制. FuncAnimation 的函数文档: https://matplotlib.org/api/_as_gen/matplotlib.animation.FuncAnimation.html#matplotlib.animation.FuncAnimationmy_ani = ani.FuncAnimation(fig=fig, func=update, frames=m, interval=1, init_func=init, blit=False)# Set up formatting for the movie files (3.7.3 报错, 3.8.5 可以)writer = ani.FFMpegFileWriter(fps=60, metadata=dict(artist='Me'), bitrate=180)# 保存图片# my_ani.save('Harmonic.gif',writer=writer)plt.show()