Les primitives graphique Scilab sont nombreuses et il est hors de propos ici de les décrire complètement et de façon exhaustives. Nous donnerons un aperçu et des règles d'utilisation générales et il faudra se reporter aux manuel en ligne pour une utilisation précise de chaque fonction.
Nous commençons par un long script Scilab qui fait un petit tour d'horizon de fonctions graphiques. L'exécution de ce script produit la Figure 4.
=code-book/panorama.tex figure[hbtp] center picture(300.00,212.00) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % If you want to use epsfig, uncomment the following line % and comment the special line % epsfig{file= Figdir linux-des.eps,width=300.00pt,height=212.00pt} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Nous commençons par décrire quelques idées générales sur la façon dont
le graphique est implémenté dans Scilab. La sortie graphique courante peut être
une fenêtre graphique, un fichier au format Postscript, un fichier
au format xfig suivant le ``driver'' graphique qui est sélectionné
( on obtient le driver courant avec la commande driver()
et on
sélectionne un driver au moyen de la même commande avec un argument,
par exemple driver('Pos')
ou avec la commande xinit
ou bien encore de
façon totalement transparente en utilisant des menus de Scilab).
Quand on utilise comme driver une fenêtre graphique Scilab a, par défaut, la
particularité d'enregistrer toutes les commandes graphiques dans
l'ordre ou elles ont été exécutées. Quand on grandit une fenêtre
graphique ou quand on effectue un zoom,
Scilab peut donc rejouer les commandes enregistrées et
et produire un nouveau graphique adapté au changement de taille.
De la même façon on peut rejouer les commandes graphiques après avoir
changé de driver pour par exemple obtenir un graphique Postcript.
C'est ce qui est fait dans le script précédent
au moyen de la commande xs2ps
.
Le driver courant associé à une fenêtre graphique et qui
enregistre les commandes graphiques est le driver Rec
.
On peut rejouer les commandes graphiques au moyen de la commande
xtape
ou de la commande xbasr
.
La commande xbasc
permet d'effacer la fenêtre courante
et d'effacer en même temps les commandes graphiques enregistrées.
détruire une fenêtre graphique xdel
à bien sûr le même effet.
Il peut parfois être utile de supprimer l'enregistrement des
commandes graphiques, il suffit pour cela de changer le driver et
d'utiliser le driver X
(ou W
) à la place de Rec
.
Par défaut aussi les graphiques apparaissent dans une fenêtre graphique au fur et a mesure de leur exécution. Il est possible de changer ce mode par défaut et de contrôler le moment ou la fenêtre graphique est rafraîchie en changeant le mode pixmap de la fenêtre courante.
Le mode pixmap de la fenêtre courante est un paramètre de
la fenêtre et il y en a beaucoup d'autres. Ils définissent le contexte
graphique d'une fenêtre. On peut avoir à un moment donné plusieurs
fenêtre graphique mais on ne peut changer le contexte graphique que de
la fenêtre courante. On obtient le numéro de la fenêtre courante au
moyen de xget('window')
et on change la fenêtre graphique courante par
xset('window',n)
. On obtient les paramètres du contexte
graphique de la fenêtre courante au moyen de la fonction xget
et on les change au moyen de la fonction xset
.
Mais revenons au mode pixmap. Quand ce mode est sélectionné
xset('pixmap',1)
le graphique n'est plus effectué directement
sur la fenêtre graphique mais sur une zone mémoire. La fenêtre graphique n'est rafraîchie
que quand la commande xset('wshow')
est appelée.
On peut effacer la zone mémoire utilisée pour le graphique par
wset('wwpc')
.
On peut ainsi construire des animations graphiques :
Un dernier point général est le calcul des échelles graphiques.
Les fonctions permettant de dessiner des objets
graphiques simples ( par exemple des rectangles xrects
, des polylignes
xpoly
,...) utilisent une échelle graphique courante et il
est impératif pour leur utilisation correcte d'avoir
d'abord fixé une échelle courante.
Cela se fait soit en appelant une fonction de
haut niveau, par exemple la fonction plot2d
,
soit au moyen de la fonction xsetech
.
Les fonctions de haut niveau par défaut fixent une échelle courante de façon a ce quelle soit compatible avec les graphiques précédents. On peut contrôler plus précisément les échelles au moyens de paramètres optionnels.
=code-book/plotauto.tex figure[hbtp] center picture(300.00,212.00) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % If you want to use epsfig, uncomment the following line % and comment the special line % epsfig{file= Figdir linux-des.eps,width=300.00pt,height=212.00pt} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|