On Thu, Apr 26, 2012 at 12:51 PM, willfurnass <will@thearete.co.uk> wrote:

I've converted a simple MATLAB script [1] for wavelet decomposition-based
analysis to Python.  I now want to create figures similar to [2] that
feature five subplots in one column, with the 1st and 3rd being generated
using 'subplot.plot' and the others being generated using 'subplot.imshow'.

I want to find a way of scaling the  x and y axes of all subplots so that
they're the same size on screen across all subplots.  Unfortunately I can't
find any combination of 'aspect' or 'extent' that will let me do this.  I
should note that I've added colorbars to all my image plots; the problem
exists regardless of whether these are used.

Has anyone got any suggestions?  Apologies if this is a trivial matter; I'm
fairly new to MP.

FYI I'm using matplotlib v1.1.0.

[2] http://www.mathworks.com/matlabcentral/fx_files/18409/1/goldoil.jpg


Will Furnass

You could try 

    fig, axes = plt.subplots(nrows=5, sharex=True, sharey=True)

And then call `axes[0].plot(...)` and `axes[1].imshow(...)`. You could also unpack the axes array and access them that way (if you prefer):

    ax0, ax1, ax2, ax3, ax4 = axes