Here is a major patch for mplot3d. Here is a summary of the changes: * bug fix: placement of title in 3D plots to match 2D plot behavior (see nonecolortester.py to demonstrate) * bug fix: allow facecolors and edgecolors to be specified as 'none' in 3D scatter plots to match the 2D scatter plot behavior (see nonecolortester.py to demonstrate) * bug fix: allow all keyword arguments to be used in text3D (see modified example code text3d_demo.py) * bug fix: allow an array of colors to be passed into bar3d to specify the colors on a per-bar or per-face basis (see new example code hist3d_demo2.py) * bug fix: allow all keyword arguments to be used in bar3d (see new example code hist3d_demo2.py) * bug fix: allow 3d scatter plots with 3 or 4 points with colors specified (see colortester2.py to demonstrate) * new feature: new method to disable mouse rotation in 3D plots * new feature: allow mouse rotation and zoom buttons to be specified by user * new feature: new Z-order sorting heuristic to eliminate rendering issues for the common case of using bar3d to visualize a 2D histogram (see modified example code hist3d_demo.py) * new feature: new method text2D (see modified example code text3d_demo.py) * code cleanup: warn when canvas is None which disables mouse callbacks * code cleanup: document more methods in mplot3d Thanks, -Ben