How to solve the 'Index exceeds number of subplots' error?

48 visualizzazioni (ultimi 30 giorni)
Hi guys, I have to solve this problem: I have this code:
for p=1:22
subplot(5,2,p)
end
It gives me the following error 'Index exceeds number of subplots', how can I solve it?
  2 Commenti
the cyclist
the cyclist il 14 Set 2020
Please add more detail to this question. Or, better yet, ask a brand-new question the fully explains what you want to know.

Accedi per commentare.

Risposta accettata

Jan
Jan il 23 Gen 2018
Modificato: Jan il 23 Gen 2018
If you ask subplot to draw an 11th subplot on a 5 x 2 grid, you cannot expect that it is such smart to create a new figure and reset the index to 1. Matlab cannot simply do what you mean. But you can write a corresponding command.
for p = 1:22
pp = mod(p - 1, 10) + 1;
if pp == 1
FigH = figure;
end
subplot(5, 2, pp, 'Parent', FigH);
...
end

Più risposte (1)

the cyclist
the cyclist il 23 Gen 2018
Modificato: the cyclist il 23 Gen 2018
The way you have defined the subplot layout, you have a 5-by-2 grid of subplots, which is a total of 10 subplot locations. But you are trying to place 22 subplots.
You need to increase the number of subplot locations (maybe use 5x5?), or decrease the number of subplots.
  1 Commento
Emrys
Emrys il 23 Gen 2018
Modificato: Emrys il 23 Gen 2018
Is there any way of automatically creating new layouts? what I was expecting were three figures, 2 with 10 elements and one with 2 .

Accedi per commentare.

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by