I want to automatically generate a series of graphs that are tied to patches. If I try to reuse the patch object, it moves the position on the canvas.
This script (based on the answer to Yann's previous question) demonstrates what is happening.
import pylab as plt
import scipy as sp
import matplotlib.patches as patches
sp.random.seed(100)
x = sp.random.random(100)
y = sp.random.random(100)
patch = patches.Circle((.75,.75),radius=.25,fc='none')
def doplot(x,y,patch,count):
fig = plt.figure()
ax = fig.add_subplot(111)
im = ax.scatter(x,y)
ax.add_patch(patch)
im.set_clip_path(patch)
plt.savefig(str(count) + '.png')
for count in xrange(4):
doplot(x,y,patch,count)
The first plot is as follows: 
But in the second "1.png" the patch has moved.

However, reassembling does not move the patch. "2.png" and "3.png" look exactly like "1.png".
Can someone point me in the right direction of what I am doing wrong?
In fact, the corrections that I use are relatively complex and take some time to generate - I would prefer not to redo them every frame, if possible.