3D surface: Updating data?


I've been using matplotlib for 2D graphing since two years. Data (3D
array) is created with a Fortran program and ploted using imshow() at a
particular plane.

3D data is created at each time iteration and saved in a file. For the
plotting part, a first imshow() is called with zero values to create the
graph and some text is displayed to describe the graph. Then the python
script read the 3D data and update the graphic using set_data(). That
way, only the "background" image is updated and not the entire graph,
resulting in a faster drawing. At each iteration, a png is saved, giving
the possibility to create a movie of the time evolution.

I would like now to replace the 2D imshow() with the 3D surface_plot().
Saddly, I cannot find a 3D equivalent to set_data(). I get the following
error :

Traceback (most recent call last):
  File "./src/affichage/affichage_3DE.py", line 450, in updatefig
  File "/usr/lib/python2.4/site-packages/matplotlib/art3d.py", line 47, in __getattr__
    return getattr(self.__dict__['_wrapped'], k)
AttributeError: PolyCollection instance has no attribute 'set_data'

So my question is:
Is there a equivalent of set_data() for surface_plot()?

Thank you very much.