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

84 vues (au cours des 30 derniers jours)
Emrys
Emrys le 23 Jan 2018
Commenté : the cyclist le 14 Sep 2020
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 commentaires
Iqra Jabeen
Iqra Jabeen le 13 Sep 2020
how to solve 2*5 grid subplot
the cyclist
the cyclist le 14 Sep 2020
Please add more detail to this question. Or, better yet, ask a brand-new question the fully explains what you want to know.

Connectez-vous pour commenter.

Réponse acceptée

Jan
Jan le 23 Jan 2018
Modifié(e) : Jan le 23 Jan 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

Plus de réponses (1)

the cyclist
the cyclist le 23 Jan 2018
Modifié(e) : the cyclist le 23 Jan 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 commentaire
Emrys
Emrys le 23 Jan 2018
Modifié(e) : Emrys le 23 Jan 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 .

Connectez-vous pour commenter.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by