How can I use the command 'tiledlayout' inside a loop

30 visualizaciones (últimos 30 días)
ANANTA BIJOY BHADRA
ANANTA BIJOY BHADRA el 12 de Mayo de 2022
Comentada: the cyclist el 15 de Mayo de 2022
How I can I use 'tiledlayout' if I need to plot two graphs with each one has multiple graphs? I was using subplot but the white space area is too much. Is there any other command for this? I also need to generate PDF finally.

Respuesta aceptada

the cyclist
the cyclist el 12 de Mayo de 2022
The key is to create two different figures, each of which you can build up a tiled layout.
Here is a trivial example of two figures, each of which has three tiles:
rng default
numberFigures = 2;
fig_handles = zeros(numberFigures,1);
for nf = 1:numberFigures
fig_handles(nf) = figure;
tiledlayout(3,1);
nexttile
plot(rand(5))
nexttile
plot(rand(7))
nexttile
plot(rand(11))
end
  2 comentarios
ANANTA BIJOY BHADRA
ANANTA BIJOY BHADRA el 15 de Mayo de 2022
Thank you for the help. But in my case, I have to create a PDF. There are two figures in the PDF. Each figure has 4 results of simulation plotted by using for loop and hold on. How can I solve the problem?
the cyclist
the cyclist el 15 de Mayo de 2022
You can use the exportgraphics command to write multiple figures to a single PDF.
Here is an example, based on my other code, that writes two figures to PDF, where each figure is a tiled layout of four plots.
rng default
numberFigures = 2;
numberTiles = 4;
fig_handles = zeros(numberFigures,1);
for nf = 1:numberFigures
fig_handles(nf) = figure;
t = tiledlayout(numberTiles,1);
for nt = 1:numberTiles
nexttile
plot(rand(5)) % This is just an example. Use your simulation to make the plot.
end
exportgraphics(t,'myplots.pdf','Append',true)
end

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Lighting, Transparency, and Shading en Help Center y File Exchange.

Productos


Versión

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by