subplot and set_aspect

Hi:

I am trying to make a 1row by 3 column plot with subplot, and I want
the first plot (subplot(131)) to have equal aspect ratio, but the rest
can auto scale.

My code results in an empty plot for the 1st column subplot whenever I
try to use the set_aspect('equal')

Any ideas?

Thanks
John

figure(1)
hold(True)
subplot(131)
plot(RX,RY)
title('Geometry')
xlabel('um')
ylabel('um')
scatter(AX,AY,c='green',marker='s')
plot([AX,0],[AY,0],linewidth=3,c='green')
scatter(BX,BY,c='purple',marker='s')
plot([0,BX],[0,BY],linewidth=3,c='purple')
scatter(DX,DY,c='red',marker='o')
axes().set_aspect('equal')
hold(False)
subplot(132)
scatter(e1.real,gi,marker='s')
title('E1 by tooth')
subplot(133)
scatter(e2.real,gi,marker='+')
title('E2 by tooth')
show()

This is most likely because of the call to axes(). I can’t remember for sure, but it might be automatically clearing out the axes. Replace axes() with subplot(131):

subplot(131).set_aspect(‘equal’)

The subplot(131) call should recognize that that particular axes has already been made and just simply retrieves it without modifying anything.

I hope this helps!
Ben Root

···

On Fri, Sep 17, 2010 at 4:57 PM, John Hutchinson <jmhutchi@…1003…7…> wrote:

Hi:

I am trying to make a 1row by 3 column plot with subplot, and I want

the first plot (subplot(131)) to have equal aspect ratio, but the rest

can auto scale.

My code results in an empty plot for the 1st column subplot whenever I

try to use the set_aspect(‘equal’)

Any ideas?

Thanks

John

figure(1)

hold(True)

subplot(131)

plot(RX,RY)

title(‘Geometry’)

xlabel(‘um’)

ylabel(‘um’)

scatter(AX,AY,c=‘green’,marker=‘s’)

plot([AX,0],[AY,0],linewidth=3,c=‘green’)

scatter(BX,BY,c=‘purple’,marker=‘s’)

plot([0,BX],[0,BY],linewidth=3,c=‘purple’)

scatter(DX,DY,c=‘red’,marker=‘o’)

axes().set_aspect(‘equal’)

hold(False)

subplot(132)

scatter(e1.real,gi,marker=‘s’)

title(‘E1 by tooth’)

subplot(133)

scatter(e2.real,gi,marker=’+’)

title(‘E2 by tooth’)

show()