使用matplotlib绘制动画的步骤
本文采用moviewriter
来绘制,避免采用matplotlib.animition
的动画绘制方法,将动画简化为图片一帧一帧播放。
使用总共三步,如下代码所示。
import numpy as np
import matplotlib
matplotlib.use("Agg")
import matplotlib.pyplot as plt
from matplotlib.animation import FFMpegWriter
#一, 初始化信息
metadata = dict(title='Movie Test', artist='Matplotlib',
comment='Movie support!')
writer = FFMpegWriter(fps=15, metadata=metadata)
# 数据准备
fig = plt.figure()
x0, y0 = np.linspace(0, np.pi, 100), np.sin(np.linspace(0, np.pi, 100))
# 二, 类似打开文件一样打开一个视频,500代表精度
with writer.saving(fig, "writer_test.mp4", 500):
for i in range(100):
plt.cla() # 注意,清除之前的内容
plt.xlim(-np.pi, np.pi)
plt.ylim(-1.5, 1.5)
x, y = x0[0:i], y0[0:i]
plt.plot(x, y, c= 'r')
#三,抓取当前的帧
writer.grab_frame()
效果参考:https://www.bilibili.com/video/av66377656