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

5 ビュー (過去 30 日間)
Struggling in MATLAB
Struggling in MATLAB 2022 年 9 月 22 日
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

採用された回答

Voss
Voss 2022 年 9 月 22 日
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 件のコメント
Struggling in MATLAB
Struggling in MATLAB 2022 年 9 月 22 日
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];

サインインしてコメントする。

その他の回答 (0 件)

タグ

製品


リリース

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by