fig, ax = plt.subplots()
points, = ax.plot(x, y, 'bo')
for i in range(10):
    xy += np.random.random(xy.shape) - 0.5
points.set_data(xy)
fig.savefig('%03i.png' % i)
Optimizing matplotlib pyplot: plotting for many small plots