如何将动态pyplot保存为电影文件?

时间:2012-08-23 21:41:58

标签: python matplotlib

我遇到过这个简单的例子,可以帮助我解决问题:

"""
Pyplot animation example.

The method shown here is only for very simple, low-performance
use.  For more demanding applications, look at the animation
module and the examples that use it.
"""

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(6)
y = np.arange(5)
z = x * y[:,np.newaxis]

for i in xrange(5):
    if i==0:
        p = plt.imshow(z)
        fig = plt.gcf()
        plt.clim()   # clamp the color limits
        plt.title("Boring slide show")
    else:
       z = z + 2
       p.set_data(z)

    print "step", i
    plt.pause(0.5)

这显示了pyplot界面中的动画,但是我想以某种电影格式保存这个动画,有没有办法?

2 个答案:

答案 0 :(得分:4)

一种方法是将所有步骤保存为图像,然后将其制作成电影,例如ffmpeg

答案 1 :(得分:3)

另一种将matplotlib动画保存为视频的方法在本文http://jakevdp.github.com/blog/2012/08/18/matplotlib-animation-tutorial/中进行了解释。它显示了一个更高级别的解决方案,您可以将动画指定为随时间变化的绘制函数。此外,您无需处理保存每个帧。