Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
2025.0.0 - Français


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

  • xsetech — sélectionne la sous-fenêtre d'une fenêtre graphique pour les dessins
  • newaxes — Creates a new Axes entity
  • axes_properties — description of the axes entity properties

Historique

VersionDescription
2024.0 subplot(…) peut être utilisé sur des composants uicontrol de style frame.
Report an issue
<< sda axes_operations unzoom >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Thu Oct 24 11:15:59 CEST 2024