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.
We will plot 3 random datasets as circles, dots and triangles in different colors.
circles, triangles, dots = ax.plot(x, 'ro’, y, 'g^’, z, 'b.’)
This function will get called to update the screen regularly. We will 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
We will generate random data with NumPy.
def generate(): while True: yield np.random.rand(2, N)
Here 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...