quadrille la figure ou frame courante et fixe le repère graphique actif sur la case choisie
subplot(m,n,p) subplot(mnp)
mnp
comme notation décimale.
subplot(m,n,p) ou subplot(mnp)
quadrille la fenêtre graphique ou la zone uicontrol("style","frame")
courante en un damier virtuel de m × n cases, et sélectionne la p-ième case
comme zone de dessin active.
Les cases du quadrillage sont numérotées par ordre croissant le long de chaque rangée,
puis selon les rangées suivantes vers le bas. Ainsi, la dernière case de la 1ère rangée
a le n° n
. La case (i,j) sur la rangée n°i et la colonne n°j
a le numéro (i-1)*n+j
.
Lorsque la zone sélectionnée correspond exactement à celle d'un repère graphique existant,
subplot(…)
fixe celui-ci comme repère actif.
Sinon, subplot(…)
crée un repère graphique vide couvrant la case
sélectionnée, prêt à recevoir les graphiques à venir.
Placements plus complexes, mais toujours quadrillables :
clf subplot(1,2,2) Matplot1() xtitle("Matplot1() example","","") subplot(2,2,1) histplot delete(findobj("type","Legend")) subplot(2,2,3) title("Smaller plots:", "fontsize",3) subplot(2,4,5) polarplot() subplot(2,4,6) param3d() xtitle("","","","") | ![]() | ![]() |
Utilisation sur des uicontrol frames :
x = -4:0.05:4; f = figure(... "default_axes","off", ... "toolbar","none", ... "name","subplot in frames", ... "backgroundColor",[1 1 1]*0.97); // Frame #1 b = createBorder("titled", "Frame #1"); uicontrol(f, ... "style", "frame", ... "units","normalized", ... "border", b, ... "position", [0.03 0.83 0.94 0.15]); // Frame #2 b(2) = "Frame #2"; fr2 = uicontrol(f, ... "style", "frame", ... "units","normalized", ... "border", b, ... "position", [0.03 0.03 0.60 0.8]); a2 = newaxes(fr2); subplot(1,2,1) plot(x, tanh(x)), title("tanh") subplot(2,2,2) plot(x, sinh(x)), title("sinh") // Frame #3 b(2) = "Frame #3"; fr3 = uicontrol(f, ... "style", "frame", ... "units","normalized", ... "border", b, ... "position", [0.65 0.03 0.32 0.8]); a3 = newaxes(fr3); subplot(2,1,1) plot(2*x, sinc(2*x)), title("sinc") subplot(2,1,2) plot(2*x, sin(2*x)), title("sin") // Back to Frame #2 sca(a2); subplot(2,2,4) plot(x, cosh(x)), title("cosh") | ![]() | ![]() |
--> gcf().children ans = 3 by 1 matrix of handles: ========================= uicontrol uicontrol uicontrol --> gcf().children(1).children ans = 2 by 1 matrix of handles: ========================= Axes Axes --> gcf().children(2).children ans = 3 by 1 matrix of handles: ========================= Axes Axes Axes --> gcf().children(3).children ans = []
Version | Description |
2024.0 | subplot(…) peut être utilisé sur des composants uicontrol
de style frame. |