Borrar filtros
Borrar filtros

How can I make the layout in the attached image with tiledlayout

5 visualizaciones (últimos 30 días)
I am able to get plot 1 and plot 2 in but not 3, 4 and 5. I can also get 3, 4 and 5 in without plot 1 and 2 but that is not what I want, per the attached image.

Respuesta aceptada

Star Strider
Star Strider el 19 de Mayo de 2024
Editada: Star Strider el 19 de Mayo de 2024
It took a few experiments to get this to work.
Try this —
x = 0:0.1:31;
y = sin((1:5).'*x*2*pi/32);
figure
tiledlayout(4,4)
nexttile([1 2])
plot(x,y(1,:))
grid
title('Plot 1')
nexttile([2 2])
plot(x,y(3,:))
grid
title('Plot 3')
nexttile([1 2])
plot(x, y(2,:))
grid
title('Plot 2')
nexttile([2 2])
plot(x, y(4,:))
grid
title('Plot 4')
nexttile([2 2])
plot(x, y(5,:))
grid
title('Plot 5')
EDIT — Corrected typographical errors.
.

Más respuestas (2)

Matt J
Matt J el 19 de Mayo de 2024
Editada: Matt J el 20 de Mayo de 2024
If you download nestedLayouts,
then you can do,
x = 0:0.1:31;
y = sin((1:5).'*x*2*pi/32);
[ax,t]=nestedLayouts([2,2],[2,1]);
delete(ax([4,6,8]));
ax=ax([1,2,3,5,7]);
for k=1:numel(ax)
plot(ax(k), x,y(k,:));
title(ax(k), "Plot "+k);
if k>2, ax(k).Layout.TileSpan=[2,1]; end
end
for i=1:numel(t), ylabel(t(i),"YLabel "+i); end

Image Analyst
Image Analyst el 20 de Mayo de 2024
If you understand how subplots work, it's easy. The bottom and right plots just use a 2,2 layout while the upper left two use a 4,2 layout:
subplot(4, 2, 1);
title('Plot 1');
subplot(4, 2, 3);
title('Plot 2');
subplot(2, 2, 2);
title('Plot 3');
subplot(2, 2, 3);
title('Plot 4');
subplot(2, 2, 4);
title('Plot 5');
Many people don't realize it but whatever layout you use for your first subplot(s) does not need to be used for ALL subplots on the figure, so you can switch from 4 rows, 2 columns to 2 rows and 2 columns like I did above.

Etiquetas

Productos


Versión

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by