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

32 Ansichten (letzte 30 Tage)
bouchra turki
bouchra turki am 7 Jan. 2023
Kommentiert: Matt J am 8 Jan. 2023
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.

Antworten (2)

Matt J
Matt J am 7 Jan. 2023
Bearbeitet: Matt J am 7 Jan. 2023
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 Kommentare
bouchra turki
bouchra turki am 8 Jan. 2023
Verschoben: Matt J am 8 Jan. 2023
Thank you very much for your quick answers, but the both functions subaxis() and tiledlayout() didn't work in MATLAB2018a!
Matt J
Matt J am 8 Jan. 2023
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.

Melden Sie sich an, um zu kommentieren.


Voss
Voss am 7 Jan. 2023
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')

Community Treasure Hunt

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

Start Hunting!

Translated by