I always forget how to manually do animations in Matplotlib. Here's a snippet for future me.
import numpy as np
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_axes((0, 0, 1, 1))
ax.set_xlim(0, 1)
ax.set_ylim(0, 1)
plt.ion()
plt.show()
xs = np.linspace(0, 1, 100)
ys = (np.sin(xs * 10) + 1) * .5
spot, = ax.plot(0, 0, markersize=10, marker='^')
for x, y in zip(xs, ys):
spot.set_xdata(x)
spot.set_ydata(y)
fig.canvas.flush_events()
There are already some great animation tools that are more mature than this, but sometimes I find it helpful to use this stripped-down approach.