title: How to display a 3D plot of a 3D array isosurface in matplotlib mplot3D or similar?
body: <p>I have a 3-dimensional numpy array.  I'd like to display (in matplotlib) a nice 3D plot of an isosurface of this array (or more strictly, display an isosurface of the 3D scalar field defined by interpolating between the sample points).</p>
  
  <p>matplotlib's mplot3D part provides nice 3D plot support, but (so far as I can see) its API doesn't have anything which will simply take a 3D array of scalar values and display an isosurface.  However, it does support displaying a collection of polygons, so presumably I could implement the marching cubes algorithm to generate such polygons.</p>
  
  <p>It does seem quite likely that a scipy-friendly marching cubes has already been implemented somewhere and that I haven't found it, or that I'm missing some easy way of doing this.  Alternatively I'd welcome any pointers to other tools for visualising 3D array data easily usable from the Python/numpy/scipy world.</p>