Section : Graphiques
Précédent : Représenter des fonctions
Suivant : Dimension 3

Graphiques composés

Si une même représentation graphique comporte plusieurs tracés à des échelles différentes, il vaut mieux spécifier d'abord le rectangle de représentation et les échelles des axes par plotframe, pour superposer ensuite les différents tracés.
xbasc();
xset("font",2,4);
plotframe([-4,-1,4,1],[2,10,5,10],[%f,%f],["Titre","Axe x","Axe y"]);
x=linspace(-%pi,%pi,50); y=sin(x);
plot2d(x,y,1,"000");             // trace une courbe
x=linspace(-%pi/2,%pi/2,5); y=sin(x);
xset("mark",1,4);
plot2d(x,y,-3,"000");            // affiche 5 marques
x=linspace(-%pi,%pi,20); y=sin(x)/2;
xset("use color",0);
xset("pattern",13);
xfpoly(x,y);                     // surface grisee
xset("default");

Figure 2: Figure composée.

Il est fréquent qu'un graphique contienne non seulement une ou plusieurs représentations de fonctions, mais aussi des chaînes de caractères, des rectangles, ellipses ou autres ajouts graphiques. Les coordonnées de ces ajouts sont relatives à la fenêtre courante. Là aussi, on aura intérêt à spécifier le cadre au préalable par plotframe.
xbasc()                          
plotframe([-1,0,2,4],[10,3,5,4],[%f,%f],["Parabole","x","f(x)"])
x=linspace(-1,2,100); y=x.*x;
plot2d(x,y,2,"000")              // represente la courbe
plot2d([1,1,-1],[0,1,1],3,"000") // trace deux segments
help xstring
xstring(1.1,0.1,"abscisse")      // chaine de caracteres
xstring(-0.9,1.1,"ordonnee")     // autre chaine
help xarc                       
xarc(-0.5,1,1,1,0,360*64)        // trace un cercle

Figure 3: Figure composée.

Ajouts sur graphique
xarc arc d'ellipse
xfarc arc d'ellipse plein
xarrows flèches
xnumb nombres
xpoly polygone
xfpoly polygone plein
xrpoly polygone régulier
xrect rectangle
xfrect rectangle plein
xstring chaîne de caractères (à partir d'un point)
xstringb chaîne de caractères (dans un rectangle)
xtitle titre du graphique et des axes
Des fonctions prédéfinies permettent d'effectuer des représentations planes particulières, comme des histogrammes, des projections de surfaces par courbes de niveau ou niveaux de gris, ou des champs de vecteurs. Les exemples qui suivent concernent la fonction de IR$ ^2$ dans IR qui à $ (x,y)$ associe $ \sin(xy)$ (voir figures 4, 5 et 6).
xbasc()
//
// Courbes de niveau
//
x=linspace(-%pi,%pi,50);      // vecteur d'abscisses
y=x;                          // vecteur d'ordonnees
z=sin(x'*y);                  // matrice des valeurs de la fonction
help contour2d
xbasc()
contour2d(x,y,z,4)            // trace 3 courbes de niveau
//
// Surface par niveaux de couleurs
// 
xbasc()
grayplot(x,y,z)               // pas vraiment gray le plot
xbasc()
R=[0:255]/256; G=R; B=R;      
RGB=[R;G;B]';                 // nouvelle matrice de couleurs
xset("colormap",RGB);
grayplot(x,y,z)               // niveaux de gris
xset("default")               // reinitialise les parametres graphiques
//
// Champ de vecteurs tangents
//
x=linspace(-%pi,%pi,10);      // vecteur d'abscisses
y=x;                          // vecteur d'ordonnees
fx=cos(x'*y)*diag(y);         // matrice des abscisses de vecteurs
fy=diag(x)*cos(x'*y);         // matrice des ordonnees de vecteurs 
champ(x,y,fx,fy)              // champ des vecteurs

Figure 4: Représentation par courbes de niveau.

Figure 5: Représentation par niveaux de gris.

Figure 6: Représentation d'un champ de vecteurs.

Représentations planes particulières
histplot histogramme
champ champ de vecteurs
fchamp idem, définition par une fonction
grayplot surface par rectangles de couleurs
fgrayplot idem, définition par une fonction
contour2d courbes de niveaux projetées
fcontour2d idem, définition par une fonction


Section : Graphiques
Précédent : Représenter des fonctions
Suivant : Dimension 3

© B. Ycart (2001)