A problem caused by 'xlim' and 'axis equal'

Hello,
I could not figure this problem. If you run the following then you get an error message
clc;
x=linspace(0,2*pi,1000);y1=sin(x);y2=cos(x);
subplot(2,1,1)
plot(x,y1,'-k');
xlim([-inf inf]);
ylim([-inf inf]);
xlabel('x');ylabel('y1');
legend('Sin');
axis equal;
subplot(2,1,2)
plot(x,y2,'-k');
xlim([-inf inf]);
ylim([-inf inf]);
xlabel('x');ylabel('y2');
legend('Cos');
axis equal;
I do not get any error if I remove 'xlim','ylim' stuff or if, instead, I renove 'axis eqaul'. I need to keep everything. How can I solve this annoying issue?
Thanks in advance!
Babak

3 comentarios

This is the first I see that
xlim([-inf inf]);
ylim([-inf inf]);
why ???????
Dyuman Joshi
Dyuman Joshi el 29 de Nov. de 2023
You have to provide atleast one finite value when using xlim and ylim.
And setting x and y limits to (-Inf, Inf) does not make sense (atleast to me).
What exactly do you want to do?
Thanks!
Now, I got the root of the problem.
I have to use xlim([-inf inf]) since I do not know, in advance, the size of my figure. At the same time
I want my x and y axes to be equal. I am making a matlab package and this is not about one or two figures
I want to make for myself. Therefpre, I do not know the limits and have to use xlim([-inf inf]).
So, how can I use xlim([-inf inf]) and axis equal at the same time?

Iniciar sesión para comentar.

 Respuesta aceptada

Dyuman Joshi
Dyuman Joshi el 29 de Nov. de 2023
Movida: Image Analyst el 29 de Nov. de 2023

0 votos

"So, how can I use xlim([-inf inf]) and axis equal at the same time?"
You can not. As I said before, atleast 1 input value to xlim/ylim must be finite.
"I want my x and y axes to be equal. "
Then provide the same limits to both axes.
"Therefpre, I do not know the limits and have to use xlim([-inf inf])."
MATLAB will adjust the limits automatically according to the given data.

3 comentarios

Mohammad Shojaei Arani
Mohammad Shojaei Arani el 29 de Nov. de 2023
Movida: Image Analyst el 29 de Nov. de 2023
ok. thanks!
To be explicit, just remove these lines entirely
xlim([-inf inf]);
ylim([-inf inf]);
and MATLAB will decide on "nice" limits to use automatically.
ok. thaks!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Startup and Shutdown en Centro de ayuda y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by