记录互动情节

时间:2019-04-25 15:06:53

标签: matplotlib

以下代码可以很好地将动画保存到文件中:

import numpy as np
import matplotlib
import matplotlib.pyplot as plt
import matplotlib.animation as animation


Writer = animation.writers['ffmpeg']
writer = Writer(fps=15, bitrate=1800)

fig, ax = plt.subplots()

ims = []
x = np.linspace(0, np.pi,200)
for theta in np.linspace(0, np.pi, 50):
    plot = ax.plot(x, np.sin(x + theta))
    ims.append(plot)

im_ani = animation.ArtistAnimation(fig, ims, interval=50, blit=True)
im_ani.save('im.mp4', writer=writer)

现在,我想在生成绘图时以交互方式查看动画,同时仍将其保存到文件中。因此,我尝试了以下代码:

import numpy as np
import matplotlib
import matplotlib.pyplot as plt
import matplotlib.animation as animation

Writer = animation.writers['ffmpeg']
writer = Writer(fps=15, bitrate=1800)

plt.ion()
fig, ax = plt.subplots()

ims = []
x = np.linspace(0, np.pi, 200)
for theta in np.linspace(0, np.pi, 50):
    ax.clear()
    plot = ax.plot(x, np.sin(x + theta))
    ims.append(plot)
    plt.draw()
    plt.pause(0.01)

im_ani = animation.ArtistAnimation(fig, ims, interval=50, blit=True)
im_ani.save('im.mp4', writer=writer)

这使我可以交互式查看动画,但是生成的视频文件仅包含空白帧。 是否可以交互查看动画并将其同时保存到文件中?我的代码有什么问题?

0 个答案:

没有答案