Matplotlib animations - how to export them to a format to use in a presentation?

后端 未结 2 390
执念已碎
执念已碎 2020-12-30 15:09

So, I learned how to make cute little animations in matplotlib. For example, this:

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

plt.         


        
相关标签:
2条回答
  • 2020-12-30 15:20

    In short, no there is no other way besides using an external tool. There is a new module in 1.1.0 that helps you do animations and save them to mpeg4 format. It uses an external tool to automatically do this conversion, from many frames to a single movie. You can make your gif using imagemagick's convert or use ffmpeg or mencoder, which are the two options provided by the new animation module.

    0 讨论(0)
  • 2020-12-30 15:28

    If you use matplotlib.animation and have something like FFmpeg in your path then this should work:

    import numpy as np
    import matplotlib
    import matplotlib.pyplot as plt
    from matplotlib.animation import ArtistAnimation
    
    fig = plt.figure() 
    ax  = fig.add_subplot(111) 
    
    ax.set_xlim(0, 1)
    ax.set_ylim(-2,2)
    
    dt = 0.01
    q  = 0.01
    t = np.arange(0,1,dt)
    x = np.sin(2*np.pi*t)
    images = []
    
    for i in xrange(100):
        x = (1-q) * x + q* np.random.normal(size = len(t))
        line, = ax.plot(t,x, '-')
        images.append((line,))
    
    line_anim = ArtistAnimation(fig, images, interval=50, blit=True)
    line_anim.save('my_animation.mp4')
    plt.show()
    

    cute, eh?

    0 讨论(0)
提交回复
热议问题