|
- # ---
- # jupyter:
- # jupytext_format_version: '1.2'
- # kernelspec:
- # display_name: Python 3
- # language: python
- # name: python3
- # language_info:
- # codemirror_mode:
- # name: ipython
- # version: 3
- # file_extension: .py
- # mimetype: text/x-python
- # name: python
- # nbconvert_exporter: python
- # pygments_lexer: ipython3
- # version: 3.5.2
- # ---
-
- # ## Animation
- #
-
- # +
- # %matplotlib inline
-
- import numpy as np
- import matplotlib.pyplot as plt
-
- from matplotlib import animation, rc
- from IPython.display import HTML
-
-
- # First set up the figure, the axis, and the plot element we want to animate
- fig, ax = plt.subplots()
-
- ax.set_xlim(( 0, 2))
- ax.set_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=100, interval=20, blit=True)
-
- HTML(anim.to_html5_video())
|