title: Plot a 3d surface from a 'list of lists' using matplotlib
body: <p>I've searched around for a bit, and whhile I can find many useful examples of meshgrid, none shhow clearly how I can get data from my list of lists into an acceptable form for any of the varied ways I've seen talked about.</p>
  
  <p>I'm a bit lost when it comes to numpy/matplotlib and the terminologies and sequences of steps that I have seen suggested. </p>
  
  <p>The closest I found was <a href="https://stackoverflow.com/questions/21161884/plotting-a-3d-surface-from-a-list-of-tuples-in-matplotlib">Plotting a 3d surface from a list of tuples in matplotlib</a></p>
  
  <p>I have a list of lists of height data.</p>
  
  <pre><code>data=[[h1,h2,h3,h...],
       [h,h,h,h],
       [h,h,h,h],
       [h,h,h,h16]]
  
  data[0][1]==h2
  
  data[4][4]==h16
  </code></pre>
  
  <p>How do I produce a simple 3d surface plot of these values using matplotlib/numpy etc..? just like a colourmap with the color values as z values. I can use imshow() just fine as it takes a list of lists directly. I'm just not certain how I need to slice up what I've got into something that plot_surface may agree with.</p>