Time for action – animating plots
We will plot three random datasets and display them as circles, dots, and triangles. However, we will only update two of those datasets with random values.
- Plot three random datasets as circles, dots, and triangles in different colors:
circles, triangles, dots = ax.plot(x, 'ro', y, 'g^', z, 'b.')
- This function gets called to update the screen regularly. Update two of the plots with new y values:
def update(data): circles.set_ydata(data[0]) triangles.set_ydata(data[1]) return circles, triangles
- Generate random data with NumPy:
def generate(): while True: yield np.random.rand(2, N)
The following is a snapshot of the animation in action:
What just happened?
We created an animation of random data points (see animation.py
):
import numpy as np import matplotlib.pyplot as plt import matplotlib.animation as animation fig = plt.figure() ax = fig.add_subplot(111) N = 10 x = np.random.rand(N) y = np.random.rand(N) z =...