How to set y axis limit same for 2 subplots in a figure object?

105 Ansichten (letzte 30 Tage)
I am creating a multiple figure object in a loop, I named it h. (h = figure) Each h contains two subplots. For both subplots in each h the yaxis limit needs to be same. For each h yaxis limit is different. How can I set yaxis limit for both subplots in each figure? Here is the sample structure of my code.
for feature = 1:numel(features)
h = figure;
for Tasktypedone = 1:2
subplot(1,2,Tasktypedone);
subplot(1,2,Tasktypedone);
end
maxY = 10; % maxY is generated dynamically
% set yLim = [0, maxY] for both subplots in h
end

Akzeptierte Antwort

Voss
Voss am 22 Sep. 2022
Store the axes objects returned from subplot(), and then set their YLim:
features = 99;
for feature = 1:numel(features)
h = figure;
ax = zeros(1,2); % ax: 1x2 vector of axes objects
for Tasktypedone = 1:2
ax(Tasktypedone) = subplot(1,2,Tasktypedone); % store the subplot axes
end
maxY = 10;
set(ax,'YLim',[0 maxY]); % set the YLim for both axes
end
You may also want to look into linkaxes:
  1 Kommentar
Struggling in MATLAB
Struggling in MATLAB am 22 Sep. 2022
Thank you! That's a great idea. Is there a workaround to work with the object h without storing the subplot axes. Something like:
h.yLim = [0 yMax];

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Tags

Produkte


Version

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by