Azzera filtri
Azzera filtri

Loop for mutliple (but variable) number of plots on multiple pages

2 visualizzazioni (ultimi 30 giorni)
I'm trying to make multiple pages of subplots, but the number of pages varies. There will be 12 subplots per page. Note that sometimes there will be 13 plots, sometimes 24, whatever--it varies. the xy data is just dummy data to set up the template.
Below is my starter script, but I am not sure of the best way to automate it so it "kicks over" to a new page on the 13th plot?
x = randn(5,1);
y = randn(5,1);
nplots = 13;
for ii = 1:nplots
if ii < 12
subplot(4,3,ii)
plot(x,y)
title(strcat('plot #', num2str(ii)), 'FontSize', 6)
box on
end
end
h = gcf;
set(h, 'PaperPositionMode', 'auto');
set(h, 'PaperOrientation', 'landscape');
set(h, 'PaperUnits', 'inches', 'PaperPosition', [0,0,11,8.5])
%figOut = 'test_page1';
%print(figOut, '-r300', '-dpdf')
%close all;
untitled.jpg

Risposta accettata

dpb
dpb il 17 Ago 2019
Figure out how many figures you need a priori...
nplots = 13;
pperfigure=12;
nfigures=ceil(nplots/pperfigure);
nUp=pperfigure;
n=0;
for f=1:nfigures
hF(f)=figure;
if f==nfigures, nUp=mod(nplots,pperfigure); end
for ii = 1:nUp
hAx(f,ii)=subplot(4,3,ii);
...
end
end
  3 Commenti
dpb
dpb il 19 Ago 2019
Modificato: dpb il 19 Ago 2019
You're welcome...you did catch that n was to be a counter on which dataset is being plotted that I didn't increment above, I presume, and did have a way to select the correct x,y data for the nth plot.
newbie9
newbie9 il 19 Ago 2019
Yes, that was actaully clear and I renamed it 'counter' in my final script

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by