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

36 views (last 30 days)
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.

Accepted Answer

the cyclist
the cyclist on 12 May 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 Comments
ANANTA BIJOY BHADRA
ANANTA BIJOY BHADRA on 15 May 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 on 15 May 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

Sign in to comment.

More Answers (0)

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!