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 = np.random.rand(N) circles, triangles,...