<< sda axes_operations unzoom >>

Scilab Help >> Graphiques > axes_operations > subplot

subplot

quadrille la figure ou frame courante et fixe le repère graphique actif sur la case choisie

Séquence d'appel

subplot(m,n,p)
subplot(mnp)

Paramètres

m, n, p
entiers > 0 : (m,n) = nombres de rangées et de colonnes du quadrillage virtuel. p = n° de la case ciblée.

mnp
un entier avec mnp comme notation décimale.

Description

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.

Exemples

clf
subplot(221)
plot2d()

subplot(222)
plot3d()

subplot(2,2,3)
param3d()

subplot(2,2,4)
bar3d()

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  =
    []

Voir aussi

Historique

VersionDescription
2024.0 subplot(…) peut être utilisé sur des composants uicontrol de style frame.

Report an issue
<< sda axes_operations unzoom >>