Created
November 25, 2017 13:49
-
-
Save erikaris/6a30bba8e8a3454720600bfcd45e505b to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| """ | |
| Matplotlib Animation Example | |
| author: Jake Vanderplas | |
| email: vanderplas@astro.washington.edu | |
| website: http://jakevdp.github.com | |
| license: BSD | |
| Please feel free to use and modify this, but keep the above information. Thanks! | |
| """ | |
| import numpy as np | |
| from matplotlib import pyplot as plt | |
| from matplotlib import animation | |
| # First set up the figure, the axis, and the plot element we want to animate | |
| fig = plt.figure() | |
| ax = plt.axes(xlim=(0, 2), ylim=(-2, 2)) | |
| line, = ax.plot([], [], lw=2) | |
| # initialization function: plot the background of each frame | |
| def init(): | |
| line.set_data([], []) | |
| return line, | |
| # animation function. This is called sequentially | |
| def animate(i): | |
| x = np.linspace(0, 2, 1000) | |
| y = np.sin(2 * np.pi * (x - 0.01 * i)) | |
| line.set_data(x, y) | |
| return line, | |
| # call the animator. blit=True means only re-draw the parts that have changed. | |
| anim = animation.FuncAnimation(fig, animate, init_func=init, | |
| frames=200, interval=20, blit=True) | |
| # save the animation as an mp4. This requires ffmpeg or mencoder to be | |
| # installed. The extra_args ensure that the x264 codec is used, so that | |
| # the video can be embedded in html5. You may need to adjust this for | |
| # your system: for more information, see | |
| # http://matplotlib.sourceforge.net/api/animation_api.html | |
| anim.save('basic_animation.mp4', fps=30, extra_args=['-vcodec', 'libx264']) | |
| plt.show() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment