Figure et subplot en Matlab
La fonctionsubplot
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 commandesubplot(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 commandesubplot
peut aussi s'utiliser avec
l'argument 'position'
suivant
>>subplot('position',[left bottom width height])
où
[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: