擅长:python、mysql、java
<p>尽管这看起来有点复杂,但保存动画的帧在动画本身中可能很容易完成。在</p>
<pre><code>import matplotlib
import matplotlib.pyplot as plt
import matplotlib.animation
import numpy as np
def animate(i):
line.set_ydata(np.sin(2*np.pi*i / 50)*np.sin(x))
#fig.canvas.draw() not needed see comment by @tacaswell
plt.savefig(str(i)+".png")
return line,
fig = plt.figure()
ax = fig.add_subplot(111)
ax.set_xlim(0, 2*np.pi)
ax.set_ylim(-1,1)
x = np.linspace(0, 2*np.pi, 200)
line, = ax.plot(x, np.zeros_like(x))
plt.draw()
ani = matplotlib.animation.FuncAnimation(fig, animate, frames=5, repeat=False)
plt.show()
</code></pre>
<p>注意<code>repeat = False</code>参数,这将阻止动画连续运行并重复将相同的文件写入磁盘。在</p>
<p>请注意,如果您愿意放宽“无外部软件包”的限制,您可以使用imagemagick保存PNG</p>
^{pr2}$
<p>这将保存文件anim-1.png、anim-2.png等</p>
<p>最后注意,当然有<a href="https://stackoverflow.com/questions/43445103/inline-animations-in-jupyter/43447370#43447370">easier methods to show an animation in a jupyter notebook</a>。在</p>