Axis equal doesn't work?

Hi, could anybody help me to point out why axis equal does not work in my code?
figure(19)
quiver( P1(1), P1(2), D0(1), D0(2), 0 ,'b','LineWidth',2)
hold on
quiver( P0(1), P0(2), D00(1), D00(2), 0,'b' ,'LineWidth',2)
quiver( P1(1), P1(2), D9(1), D9(2), 0, 'g' ,'LineWidth',2)
quiver( P9(1), P9(2), D99(1), D99(2), 0, 'g' ,'LineWidth',2)
quiver( P1(1), P1(2), D10(1), D10(2), 0,'r' ,'LineWidth',2)
quiver( P10(1), P10(2), D100(1), D100(2), 0 ,'r','LineWidth',2)
quiver( P1(1), P1(2), D(1), D(2), 0,'k' ,'LineWidth',2)
plot(x9,y9,'g')
plot(x10,y10,'r')
hold off
axis equal
xlabel('Re')
ylabel('Im')
set(gca, 'FontSize', 14)

5 Comments

We cannot run your code due to the missing data. Then there is no chance that we can guess, what "does not work" means. Please post the error message or explain the differences between the observed behavior and your expectations.
Sorry, there is no error message. It's just that I would like the axes to be equal and when I plot they are not equal, although I use 'axis equal'.
May be unrelated to the cause of the problem, but
axis( hAxes, 'equal' )
should always be used rather than just
axis equal
Why rely on an assumption as to it applying to the correct axes rather than explicitly tell it?
Adam
Adam on 7 Jun 2018
Edited: Adam on 7 Jun 2018
Can you attach an image then showing what the plot looks like?
Jan
Jan on 7 Jun 2018
Edited: Jan on 7 Jun 2018
@Emma: What do you expect "equal axes" to look like and what do you observe instead?

Sign in to comment.

Answers (2)

Jan
Jan on 7 Jun 2018
Edited: Jan on 7 Jun 2018
According to doc axes the command axis equal does:
Use the same length for the data units along each axis.
So it adjusts the data units or in other word the DataAspectRatio. What do you want to do instead? Maybe you mean:
axis square
Emma Blomgren
Emma Blomgren on 7 Jun 2018

0 votes

Thank you for your answers, I found the solution to my problem which was to replace 'axis equal' with 'daspect([1 1 1])'.

4 Comments

Exactly what axis square does also.
Not for me. daspect([1 1 1]) does exactly what it is supposed to; axis square does not.
Jan
Jan on 16 Mar 2019
@Lawrence: The OP did not tell us, what exactly is wanted. axis square sets the PlotboxAspectRatio to [1,1,1], while axis equal adjust the DataAspectRatio. You do not mention also, what is supposed to be done. If you add this detail, other readers might profit also.
Emma: Thans, I encounted the same problem, i.e., (axis equal) not working, and the daspect([1 1 1 ]) fixed it.

Sign in to comment.

Categories

Find more on 2-D and 3-D Plots in Help Center and File Exchange

Tags

Asked:

on 7 Jun 2018

Commented:

on 25 Apr 2022

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!