If you are just changing the properties of the contour object returned by contourf() then the graphics will update by themselves the next time the event queue is flushed.
If you already have the handle of a contour object returned by contourf(), and you want to change x, y, z data, and the other properties are going to remain the same, then you can update the XData, YData, or ZData properties of the contour object. The graphic will update by itself the next time the event queue is flushed.