Le tracés de courbes sous Scilab est très simple et ne nécessite pas de bibliothèques particulière. Si un vecteur seul est spécifié, l'ordonnée est tracée en fonction du numéro de point. Si deux vecteurs et sont spécifiés, l'ordonnée est tracée en fonction de l'abscisse .
Le tracé est effectué dans la fenêtre courante et chaque instruction plot ajoute une courbe d'une couleur différente. L'instruction clf permet d'effacer la figure.
x=0:0.1:10;
y=sin(x);
clf;
plot(x,y);
plot(x,sin(2*x));
Pour imposer à la courbe une couleur ou un style particulier, il est possible d'ajouter un argument de format entre guillemets. Par exemple "r--o" conduit à une courbe rouge, en tirets, où les points sont localisés par des cercles.
La couleur est spécifiée par une lettre : b pour bleu, r pour rouge, g pour vert, y pour jaune, k pour noir, m pour magenta, c pour cyan et w pour blanc (moins utile lorsque le fond est blanc...).
Le style de ligne est spécifié par un sigle : - pour un trait plein, -- pour des tirets, : pour des pointillets et -. pour un trait mixte.
Le style des marqueurs des points peut aussi être modifié par un caractères. Vous pourrez tester les caractères suivants : +o*.xsd^vp.
x=0:0.1:10;
clf;
plot(x,sin(x),"o-r");
plot(x,sin(x-0.4),"x--g");
plot(x,sin(x-0.8),"d:k");
plot(x,sin(x-1.2),"-.m");
Par défaut, les échelles sont ajustées pour occuper la totalité de la figure. Lorsque la courbe nécessite une même échelle en x et y, utiliser la fonction square. L'exemple ci-dessous trace un cercle de rayon unitaire.
t=[0:0.1:2*%pi]';
plot2d(sin(t),cos(t))
clf()
square(-1,-1,1,1)
plot2d(sin(t),cos(t))
Une légende permet de connaitre la signification de chaque courbe. L'appel à la fonction legend permet de l'intégrer au graphique.
Un titre permet de donner du sens à un graphique. L'appel à la fonction xtitle permet d'insérer un titre au dessus du graphique.
Les fonctions xlabel et ylabel permettent d'ajouter du texte pour chaque axe.
x=0:0.1:10;
clf;
plot(x,cos(x),"r");
plot(x,sin(x),"b");
legend("cosinus","sinus");
xtitle("Fonctions sinusoïdales");
xlabel("Angle");
ylabel("Valeur");
Lorsque x et y sont des tableaux, la fonction plot trace chaque colonne de y en fonction de chaque colonne de x. L'exemple suivant trace 100 segments allant de l'axe des abscisses à l'ordonnée en sinus (x est une ligne de 100 éléments).
x=0:0.1:10;
clf;
plot([x;x],[x*0;sin(x)],"b")
h=gcf permet d'obtenir le handle de la figure courante. h=figure(3) permet de créer une figure (numéro 3) et de récupérer dans h le handle.
Le handle h permet alors de modifier à souhait les propriétés de la figure. h.children (ou le handle h=gca) conduit aux propriétés de l'axe (comme par exemple la propriété "isoview" qui permet d'obtenir une même échelle en x et y). h.children.children.children permet d'accéder aux propriétés de chaque polyligne, comme la couleur, l'épaisseur, le style et le tableau de données x et y.
A noter qu'il est assez long d'effacer une figure et de reconstruire toutes les courbes. Pour modifier des courbes déjà tracées, il est beaucoup plus rapide de modifier les données de la variable h.children.children.children.data