Figure et subplot en Matlab

La fonction subplot permet de découper une figure en sous-figures, qui peuvent à leur tour être utilisées comme figure pour tracer toute sorte de graphique.

Découpage matriciel en blocks

Sur un figure active (ou la créant si aucune figure n'existe à ce point), La commande subplot(n,p,t) permet de découper la figure en nxp sous-figures: n lignes, p colonnes, d'où les nxp sous-figures; le dernier argument, l'entier t indiquant laquelle de ces sous-figures activer pour recevoir les commandes graphiques qui suivent.
On peut aussi appeler subplot(npt) sans virgule séparatrice si il n'y a pas d'ambiguïté, à savoir si n, p et t sont des chiffres.
Par exemple, via le script:
clear all;close all;
subplot(361),text(.4,.5,'1','fontsize',18,'fontweight','bold','color','red')
subplot(362),text(.4,.5,'2','fontsize',18,'fontweight','bold','color','red')
subplot(363),text(.4,.5,'3','fontsize',18,'fontweight','bold','color','red')
subplot(364),text(.4,.5,'4','fontsize',18,'fontweight','bold','color','red')
subplot(365),text(.4,.5,'5','fontsize',18,'fontweight','bold','color','red')
subplot(366),text(.4,.5,'6','fontsize',18,'fontweight','bold','color','red')
subplot(3,6,7),text(.4,.5,'7','fontsize',18,'fontweight','bold','color','red')
subplot(3,6,8),text(.4,.5,'...','fontsize',18,'fontweight','bold','color','red')
subplot(3,6,11),text(.4,.5,'...','fontsize',18,'fontweight','bold','color','red')
subplot(3,6,12),text(.3,.5,'12','fontsize',18,'fontweight','bold','color','red')
subplot(3,6,13),text(.3,.5,'13','fontsize',18,'fontweight','bold','color','red')
subplot(3,6,14),text(.4,.5,'...','fontsize',18,'fontweight','bold','color','red')
subplot(3,6,17),text(.4,.5,'...','fontsize',18,'fontweight','bold','color','red')
subplot(3,6,18),text(.3,.5,'18','fontsize',18,'fontweight','bold','color','red')


on obtient le découpage en 18 sous-figures:

Découpage libre en sous-figures

La commande subplot peut aussi s'utiliser avec l'argument 'position' suivant
>>subplot('position',[left bottom width height])


[left bottom width height] est un vecteur de quatre nombre indiquant la position relative (en pourcentage, donc des nombres compris entre 0 et 1) respectivant la position depuis la gauche et le bas, et ainsi que la largeur et le hauteur de la nouvelle sous-fenêtre graphique.

Par exemple, le script:
clear all;close all;
figure(1);
subplot('position',[0.1 0.2 0.2 0.7])
x=-2*pi:0.01:2*pi;plot(x,sin(x))
text(11,0.7,'Quelques oscillations','rotation',-90,'fontsize',12)


subplot('position',[0.5 0.7 0.4 0.2])
x=-1:0.1:3;plot(x,exp(x))
text(-.9,25,'Un peu d''exponentielle')

subplot('position',[0.4 0.1 0.5 0.4])
x=0.1:0.1:3;plot(x,log(x))

text(0.5,2.2,'Et un peu de logarithme','fontsize',14)


donne la figure globale:

Voir aussi:
Haut de la page Lien