You can use Axes.set_aspect to do this if you set the aspect ratio with respect to the axes. Here is an example: 
from matplotlib.pyplot import figure, show fig = figure() ax0 = fig.add_subplot(1,2,1) ax0.set_xlim(10., 10.5) ax0.set_ylim(0, 100.) ax0.set_aspect(.5/100) ax1 = fig.add_subplot(1,2,2) ax1.set_xlim(0., 1007) ax1.set_ylim(0, 12.) x0, x1 = ax1.get_xlim() y0, y1 = ax1.get_ylim() ax1.set_aspect((x1-x0)/(y1-y0)) show()
There may be an easier way, but I don't know that.
tom10 source share