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

13 Ansichten (letzte 30 Tage)
Mohammad Shojaei Arani
Mohammad Shojaei Arani am 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 Kommentare
Dyuman Joshi
Dyuman Joshi am 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 am 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?

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Dyuman Joshi
Dyuman Joshi am 29 Nov. 2023
Verschoben: Image Analyst am 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 Kommentare
Image Analyst
Image Analyst am 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 am 29 Nov. 2023
ok. thaks!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Data Import and Export finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by