Vous êtes sur la page 1sur 4

Cours de SAS.

LA PROCDURE PROC GPLOT


Descriptif

La procdure GPLOT permet de tracer tous types de graphes. On prcise le type du graphe par l'instruction qui commande le trac du graphe. Cette instruction peut tre BUBBLE, PLOT, ... Les options du graphe sont indiques aprs l'instruction du trac. Elles en sont spares par le caractre '/'.
Graphe de bulles

Commenons par un exemple de graphe avec l'instruction BUBBLE :


data jobs; length eng $5; input eng dollars num; datalines; Civil 27308 73273 Aero 29844 70192 Elec 22920 89382 Petro 18444 34833 ; proc gplot data=jobs; format dollars dollar9.; bubble dollars*eng=num; run;

On place des bulles avec la variable dollars fonction de la variable eng. La superficie des bulles est proportionnelle la variable num. Entrer les instructions prcdentes.
Titre et sous-titre

Vous excuterez le programme aprs chaque instruction ajoute. Pour agrmenter notre graphe, nous ajoutons un titre et un sous-titre :

title1 'Profile des Membres'; title2 'Salaires et Nombre des Membres Ingnieurs';

Nous augmentons la taille du titre l'aide de GOPTIONS :


goptions htext=4 gunit=pct htitle=6;

Puis la taille du sous-titre en rglant la hauteur du texte ( ajouter dans goptions) : La fonte du texte n'est pas satisfaisante et l'on rajoute l'option
ftext=swiss

Notes de bas de page

Nous indiquons le nom du programme dans une note de bas de page :


footnote h=3 j=r 'GPLBUBL1 ';

L'option 'h=3' donne la taille des caractres de la note. L'option 'j=r' indique que cette note sera place droite. Les autres possibilits sont 'j=l' pour placer gauche et 'j=c' pour placer au centre.
Offset pour les axes

Nous constatons que le cadre coupe les bulles situes gauche et droite. Nous agrandissons l'axe horizontal en spcifiant avant le Proc Gplot :
axis1 offset=(5,5);

Puis nous utilisons cet axe lors de l'instruction bubble :


bubble dollars*eng=num/ haxis=axis1;

Enseignant : M. Mougeot

1/4

Cours de SAS.

L'instruction AXIS

On peut donc dfinir l'aspect des axes en dehors de la procdure gplot par l'instruction AXIS. On peut dfinir jusqu' quatre-vingt-dix-neuf axes par axis1,..., axis99. On appelle ensuite l'axe voulu en spcifiant les options haxis et vaxis lors de l'instruction de trac :
bubble dollars*eng=num/ haxis=axis1 vaxis=axis2;

Pour utiliser cet exemple il faut qu'axis1 et axis2 ait t dfini.


Aspect du cadre

L'aspect du cadre est contrl par les axes. Ainsi pour avoir un cadre plus pais de couleur bleue :
axis1 color=blue width=3;

Entrer une couleur et une paisseur diffrentes pour l'axe vertical et constater les rgles de priorit. Nous dcidons d'enlever le nom des variables afin d'allger le graphe :

axis1 label=none;

!! Lorsque l'on dfini axis1, on crase les dfinitions prcdentes de cet axe. Pour spcifier plusieurs critres, il faut le faire lors de la mme dfinition. Enlever les labels pour les deux axes.
Echelle des axes et taille des valeurs

Changeons l'chelle verticale pour afficher les dollars de dix-mille en dix-mille :


axis2 order=(0 to 40000 by 10000);

Entrer cette commande Spcifier un ordre descendant Essayer la suite

(0 10000 28000 30000 40000 )

Gestion des marques

Nous augmentons la taille des traits utiliss pour les marques en ajoutant dans l'instruction axis:
major=(height=1.5) minor=(height=1)

Les marques mineures sont trop nombreuses. Nous rglons leur nombre par une option du graphe :
vminor=1

Ajouter cette option

Aspect des bulles

Nous contrlons la couleur et la taille des bulles par l'option du graphe :


bcolor=red bsize=12

Entrer diffrentes tailles pour les bulles

Ajout de label sur les bulles

Pour avoir de manire explicite le nombre d'ingnieur ct de chaque bulle, nous rajoutons :
blabel bfont=swissi

Entrer cette option avec puis sans changement de fonte

Facultatif : aller voir le code source complet dans le programme GPLBUBL1-Generating a Simple Bubble Plot situ dans les exemples de GPLOT. L'instruction PLOT L'instruction 'PLOT y*x' dans une procdure proc gplot trace le graphe de la fonction y en fonction de x. Le programme suivant affiche le graphe des maxima annuels du Dow Jones :
Enseignant : M. Mougeot 2/4

Cours de SAS.

data stocks; input year hdate :date9. datalines; 1955 30DEC1955 488.40 1956 06APR1956 521.05 1957 12JUL1957 520.77 ; proc gplot data=stocks; plot high*year; run;

high ldate :date9. low; 17JAN1955 23JAN1956 22OCT1957 388.20 462.35 419.79

Entrer ces intructions Reprener l'ensemble des valeurs dans le programme GPLDTPT1-Connecting Plot Data Points dans les exemples de GPLOT.

L'instruction SYMBOL

La manire de tracer le graphe est rgie par l'instruction SYMBOL. On peut spcifier l'aspect des points, leur couleur et leur taille, ainsi que la maire dont les points sont relis les uns aux autres. Par exemple changeons la couleur, la forme et la taille des points :
symbol1 color=red value=dot height=3;

Entrer cette instruction. Comme pour les axes, on peut dfinir jusqu' quatre-vingt-dix-neuf symboles avec symbol1,..., symbol99. Les diffrent tracs demands utiliseront les symboles definis par ordre croissant.

Connecter les points d'un graphe

Pour connecter les points d'un graphe, on spcifie dans l'instruction symbol :
symbol interpol=join;

L'instruction symbol est quivalente symbol1.


Plusieurs tracs sur un mme graphe avec OVERLAY

Nous pouvons placer plusieurs tracs sur le mme graphe en spcifiant l'option overlay :
plot high*year low*year / overlay;

Effectuer le graphe avec les deux tracs changer l'aspect du deuxime trac avec

symbol2 font=marker value=C color=blue interpol=join height=2;

Lignes horizontales de rfrences

Pour faciliter la lecture du graphe, nous ajoutons des lignes horizontales de rfrence avec l'option :
vref=1000 to 5000 by 1000 lvref=2

L'option lvref permet de spcifier le style des lignes de rfrence. Tester diffrent style pour les lignes de rfrence.
Gestion de la lgende

Par dfaut nous n'avons pas de lgende pour le graphe. Pour en ajouter une il suffit de spcifier l'option 'legend' pour le graphe. Nous pouvons galement dfinir un type de lgende et l'utiliser dans le graphe. La dfinition d'une lgende est similaire la dfinition d'un axe ou d'un symbole :
legend1 label=none shape=symbol(4,2) position=(top center inside) mode=share;

Nous utilisons cette lgende en entrant l'option


legend=legend1

Mettre cette nouvelle lgende. Enlever et manipuler chacune des options de la lgende pour en comprendre le fonctionnement.
3/4

Enseignant : M. Mougeot

Cours de SAS.

L'option shape permet de rgler l'espacement entre les symboles puis leur taille.
Remplir de couleurs les zones dlimits par les courbes

Les courbes dfinissent diffrentes zones que l'on peut colorier. Nous ajoutons plot l'option
areas=2

Ceci indique que SAS doit colorier les deux premires zones du graphe Ajouter cette option. Essayer diffrentes valeurs. Simplifier les symboles en utilisant seulement
symbol1 interpol=join;

Plusieurs courbes indexes par une troisime variable

On peut tracer plusieurs courbes, une pour chaque valeur d'une troisime variable :
data citytemp; input month faren city $; datalines; 1 40.5 Raleigh 1 12.2 Minn 2 42.2 Raleigh 2 16.5 Minn ; proc gplot data= citytemp; plot faren*month=city; run;

Cette fois le graphe possde automatiquement une lgende. Entrer ces instructions. Rcuperer l'ensemble des donnes sur l'aide de SAS :GPLVRBL2-Plotting Three Variables dans les exemples pour GPLOT. Rgler l'paisseur du cadre. Rgler l'offset pour l'axe des abscisses. Dfinir trois symboles distincts pour les trois tracs. Changer les couleurs et le type des points. Changer l'interpolation et l'paisseur des courbes avec
interpol=spline width=2

Pour l'axe des abscisses, nous remplaons les chiffres par les abrvations des mois lors de la dfinition de l'axe :

value=('JAN' 'FEB' 'MAR' 'APR' 'MAY' 'JUN' 'JUL' 'AUG' 'SEP' 'OCT' 'NOV' 'DEC')

Pour avoir Minneapolis crit en entier dans la lgende, nous entrons :

legend1 label=none value=(tick=1 'Minneapolis');

L'instruction 'tick=1' indique que nous nous occupons de la premire entre de la lgende.
Un deuxime trac avec son axe vertical avec PLOT2

L'instruction PLOT2 place sur le mme graphe un deuxime trac. Ce trac a sa propre chelle verticale, indique sur un axe vertical droite. La variable horizontale doit tre la mme pour les deux tracs.
Deux chelles pour le mme graphe

L'instruction PLOT2 permet de mettre deux chelles diffrentes sur le mme graphe. Voici des tempratures par mois en degrs Fahrenheit pour une ville :
1 40.5 7 77.5

2 42.2 8 76.5

3 49.2 9 70.6

4 59.5 10 60.2

5 67.4 11 50.0

6 74.4 12 41.2

Ajouter par le calcul les degrs Celcius correspondants. Crer le deuxime axe avec PLOT2. Veiller ce que le second plot n'affiche aucun point. Essayer comme interpolation Rgler l'paisseur des traits et la hauteur des symboles
4/4

interpol=needle ci=blue cv=red value=star

Enseignant : M. Mougeot