Index: plottools/src/danse/common/plottools/PlotPanel.py
===================================================================
--- plottools/src/danse/common/plottools/PlotPanel.py	(revision ca586546279b3693bffdf86a420f087c8b14d5d7)
+++ plottools/src/danse/common/plottools/PlotPanel.py	(revision 4a4164c633bdb96dccfc304d13589ff77b7174e5)
@@ -324,5 +324,5 @@
         Set the resizing (True/False)
         """
-        pass # Not impleeted
+        pass # Not implemented
     
     def schedule_full_draw(self, func='append'):    
@@ -330,5 +330,5 @@
         Put self in schedule to full redraw list
         """
-        pass # Not implemeted
+        pass # Not implemented
     
     def add_toolbar(self):
@@ -1425,4 +1425,5 @@
                    cmap=self.cmap, zmin=zmin_2D_temp,
                    zmax=zmax_2D_temp)
+        self.figure.canvas.draw_idle()
       
     def image(self, data, qx_data, qy_data, xmin, xmax, ymin, ymax, 
@@ -1479,12 +1480,15 @@
             im = self.subplot.imshow(output, interpolation='nearest', 
                                      origin='lower',
-                                     #vmin=zmin_temp, vmax=self.zmax_2D,
-                                     cmap=self.cmap)#, 
-                                     #extent=(self.xmin_2D, self.xmax_2D,
-                                     #           self.ymin_2D, self.ymax_2D))
+                                     vmin=zmin_temp, vmax=self.zmax_2D,
+                                     cmap=self.cmap, 
+                                     extent=(self.xmin_2D, self.xmax_2D,
+                                                self.ymin_2D, self.ymax_2D))
+            
             cbax = self.subplot.figure.add_axes([0.84,0.2,0.02,0.7])
         else:
             # clear the previous 2D from memory
-            self.subplot.figure.clf()
+            # mpl is not clf, so we do
+            self.subplot.figure.clear()
+
             self.subplot.figure.subplots_adjust(left=0.1, right=.8, bottom=.1)  
             try:
@@ -1501,10 +1505,11 @@
             Y = self.y_bins[0:-1]
             X, Y = numpy.meshgrid(X, Y)
-    
+            if len(X) > 60:
+                ax.disable_mouse_rotation()
             im = ax.plot_surface(X, Y, output, rstride=1, cstride=1, cmap=cmap,
                                    linewidth=0, antialiased=False)
             #ax.set_zlim3d(zmin_temp, self.zmax_2D)
             #ax.set_frame_on(False)
-            self.subplot.set_axis_off()    
+            self.subplot.set_axis_off()  
             
         if cbax == None:
@@ -1514,7 +1519,4 @@
         cb.update_bruteforce(im)
         cb.set_label('$' + self.scale + '$')
-        
-        #if self.dimension != 3:
-        self.figure.canvas.draw_idle()
     
     def _build_matrix(self):
Index: plottools/src/danse/common/plottools/canvas.py
===================================================================
--- plottools/src/danse/common/plottools/canvas.py	(revision 7434020a097527ae6efc0f0e238d753b17df8b04)
+++ plottools/src/danse/common/plottools/canvas.py	(revision 4a4164c633bdb96dccfc304d13589ff77b7174e5)
@@ -130,4 +130,5 @@
         self.xaxis = None
         self.yaxis = None
+        self.ndraw = 0
         # Support for mouse wheel
         self.Bind(wx.EVT_MOUSEWHEEL, self._onMouseWheel)
@@ -166,4 +167,7 @@
         """
         # Check resize whether or not True
+        if self.panel.dimension == 3:
+            return
+
         # This is for fast response when plot is being resized
         if not self.resizing:
@@ -191,8 +195,8 @@
         # Only draw if window is shown, otherwise graph will bleed through
         # on the notebook style AUI widgets.
+        #    raise
         fig = FigureCanvasWxAgg
-        if self.IsShownOnScreen():
+        if self.IsShownOnScreen() and self.ndraw != 1:
             self._isRendered = True
-            #self.panel.parent.refresh_floating(self.panel)
             self._get_axes_switch()
             #import time
@@ -207,5 +211,7 @@
         else:
             self._isRendered = False
-   
+        if self.ndraw <= 1:
+            self.ndraw += 1
+        
     def _onMouseWheel(self, evt):
         """Translate mouse wheel events into matplotlib events"""
