필터 지우기
필터 지우기

how to plot multiple graphs with same x-axis and y-axis?

조회 수: 25 (최근 30일)
bouchra turki
bouchra turki 2023년 1월 7일
댓글: Matt J 2023년 1월 8일
Hello
how can I plot multiple graphs in one figure with the same x-axis and y-axis, like in the following figure?
I 'm really needed this one.
Thank you very much.

답변 (2개)

Matt J
Matt J 2023년 1월 7일
편집: Matt J 2023년 1월 7일
Using subaxis(), downloaded from here,
for i=1:3
subaxis(1,3,i,'SpacingHoriz',0);
plot(rand(1,5));
xlabel X
if i==1
ylabel Y
else
yticklabels([]);
end
end
  댓글 수: 2
bouchra turki
bouchra turki 2023년 1월 8일
이동: Matt J 2023년 1월 8일
Thank you very much for your quick answers, but the both functions subaxis() and tiledlayout() didn't work in MATLAB2018a!
Matt J
Matt J 2023년 1월 8일
Subaxis is about 20 years old. It wll definitely work in 2018a. My guess would be that you assumed it was a built-in Matlab command, and didn't download it rom the link I gave you.

댓글을 달려면 로그인하십시오.


Voss
Voss 2023년 1월 7일
You can try something along these lines:
% create a tiledlayout for 3 plots, with no space between:
N_plots = 3;
t = tiledlayout(1,N_plots,'TileSpacing','none');
% create and store the three axes:
ax = zeros(1,N_plots);
for ii = 1:N_plots
ax(ii) = nexttile(t);
hold on
end
% link the x- and y-limits of the axes:
linkaxes(ax,'xy')
% plot some stuff in each axes:
plot(ax(1),-12:12,rand(1,25))
plot(ax(1),-8:8,rand(1,17))
plot(ax(2),-9:9,rand(1,19))
plot(ax(2),-5:5,rand(1,11))
plot(ax(3),-10:10,rand(1,21))
plot(ax(3),-7:7,rand(1,15))
% set the x-limits of the left axes (the others will be set to the same
% because they are linked by linkaxes):
set(ax(1),'XLim',[-14 14]);
% remove the y-tick labels except on the left axes:
set(ax(2:end),'YTickLabel',{});
% set the y-label of the left axes:
set(get(ax(1),'YLabel'),'String','y')
% set the x-labels of all axes:
xlbl = get(ax,'XLabel');
set([xlbl{:}],'String','x')

카테고리

Help CenterFile Exchange에서 Title에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by