Index: lib/mpl_toolkits/mplot3d/axes3d.py
===================================================================
--- lib/mpl_toolkits/mplot3d/axes3d.py	(revision 8731)
+++ lib/mpl_toolkits/mplot3d/axes3d.py	(working copy)
@@ -548,11 +548,24 @@
             self.get_proj()
             self.figure.canvas.draw()
 
-#        elif self.button_pressed == 2:
+        # Pan
+        elif self.button_pressed == 2:
             # pan view
-            # project xv,yv,zv -> xw,yw,zw
-            # pan
-#            pass
+            if dx == 0 and dy == 0:
+                return
+            minx, maxx, miny, maxy, minz, maxz = self.get_w_lims()
+            caz = np.cos(np.radians(self.azim))
+            saz = np.sin(np.radians(self.azim))
+            cel = np.cos(np.radians(self.elev))
+            sel = np.sin(np.radians(self.elev))
+            px = (-saz * dx - sel * caz * dy) * self.dist**2.
+            py = (caz * dx - sel * saz * dy) * self.dist**2
+            pz = (cel * dy) * self.dist**2.
+            self.set_xlim3d(minx - px, maxx - px)
+            self.set_ylim3d(miny - py, maxy - py)
+            self.set_zlim3d(minz - pz, maxz - pz)
+            self.get_proj()
+            self.figure.canvas.draw()
 
         # Zoom
         elif self.button_pressed in self._zoom_btn:
