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

8 vues (au cours des 30 derniers jours)
Mohammad Shojaei Arani
Mohammad Shojaei Arani le 29 Nov 2023
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 commentaires
Dyuman Joshi
Dyuman Joshi le 29 Nov 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?
Mohammad Shojaei Arani
Mohammad Shojaei Arani le 29 Nov 2023
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?

Connectez-vous pour commenter.

Réponse acceptée

Dyuman Joshi
Dyuman Joshi le 29 Nov 2023
Déplacé(e) : Image Analyst le 29 Nov 2023
"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 commentaires
Image Analyst
Image Analyst le 29 Nov 2023
To be explicit, just remove these lines entirely
xlim([-inf inf]);
ylim([-inf inf]);
and MATLAB will decide on "nice" limits to use automatically.
Mohammad Shojaei Arani
Mohammad Shojaei Arani le 29 Nov 2023
ok. thaks!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Graphics Object Properties dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by