A quick note on this - you can set the "origin" keyword of imshow to "lower", to get the behaviour you expect.  You can also set that as the default in the file returned by python -c 'import matplotlib;print matplotlib.matplotlib_fname()'

This can be handy because pcolor and imshwo have different grids - for imshow 0 is in the middle of the first pixel, and for pcolor it is at the edge of it.