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

35 visualizzazioni (ultimi 30 giorni)
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.

Risposta accettata

the cyclist
the cyclist il 12 Mag 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 Commenti
ANANTA BIJOY BHADRA
ANANTA BIJOY BHADRA il 15 Mag 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 il 15 Mag 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

Accedi per commentare.

Più risposte (0)

Prodotti


Release

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by