IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

FAQ SASConsultez toutes les FAQ

Nombre d'auteurs : 14, nombre de questions : 232, dernière mise à jour : 20 décembre 2012 

 
OuvrirSommaireODS et ReportingSAS GRAPH

Avec les options 'tick' et 'color' vous pouvez contrôler entièrement l'apparence de l'affichage des valeurs de l'axe des abscisses.

 
Sélectionnez

DATA base;
   do i=1 TO 100;
      x=rannor(0);
      output;
   end;
run;
axis1 value=(color=white tick=1 color=black tick=3 color=red tick=5 color=black tick=7 
color=red tick=9 color=black tick=11 color=red) ;
proc gchart DATA=base;
vbar x / maxis=axis1 midpoints=(-5 TO 5 BY 1) ;
run;
Créé le 27 avril 2012  par fafabzh6

En utilisant l'option DATTRMAP , disponible depuis la version SAS 9.3, vous pouvez paramétrer les couleurs de vos barres.

Ci-dessous un exemple de code SAS :

 
Sélectionnez

Title;
 
DATA essai1;
input ID $ value $ linecolor $ fillcolor $;
datalines;
myid  F yellow yellow
myid  M red red
;
run;
 
proc sgplot DATA=sashelp.class dattrmap=essai1 ;
vbar age / response=height GROUP=sex   attrid=myid;
run;
 
DATA essai2;
input ID $ value $ linecolor $ fillcolor $;
datalines;
myid  F pink pink
myid  M blue blue
;
run;
 
proc sgplot DATA=sashelp.class dattrmap=essai2 ;
vbar age / response=height GROUP=sex   attrid=myid;
run;
Créé le 27 avril 2012  par SAS

À l'aide de l'option 'order', vous pouvez paramétrer cet ordre d'apparition.

Ci-dessous, un exemple de code SAS :

 
Sélectionnez

DATA work.sales ;
  SET sashelp.prdsale ;
  SELECT (country) ;
    WHEN ("GERMANY") CatNum = 1 ;
    WHEN ("CANADA")  CatNum = 2 ;
	OTHERWISE        CatNum = 3 ;
  END ;
RUN ;
PATTERN1 C=YELLOW ; /* Allemagne */
PATTERN2 C=RED ;    /* Canada */
PATTERN3 C=BLUE ;   /* Etats-Unis */
LEGEND1 VALUE=("Allemagne"  "Canada" "Etats-Unis")
		ORDER=(1 2 3)
			LABEL = none
			SHAPE=bar(1.3,0.7);
PROC GCHART DATA=work.sales ;
  VBAR product / SUBGROUP=catNum SUMVAR=actual TYPE=SUM 
				LEGEND=legend1 ;
RUN ; QUIT ;
Créé le 20 décembre 2012  par fafabzh6

À l'aide des procédures TEMPLATE et SGPLOT, vous pouvez créer un graphique contenant plusieurs sous-graphiques.

Le code ci-dessous est un exemple de code SAS vous permettant de créer un graphique contenant quatre sous-graphiques.

 
Sélectionnez

proc template;
define statgraph sgdesign;
dynamic _SEX _HEIGHT _AGE _WEIGHT _NAME _WEIGHT2 _SEX2 _HEIGHT2;
begingraph;
   layout lattice / rowdatarange=DATA columndatarange=DATA rows=2 COLUMNS=2 rowgutter=10 columngutter=10 rowweights=(0.5 0.5);
      layout overlay;
         boxplot x=_SEX y=_HEIGHT / name='box' boxwidth=0.4 discreteoffset=0.0 clusterwidth=1.0;
      endlayout;
      layout overlay;
         boxplot x=_AGE y=_WEIGHT / name='box2' boxwidth=0.4 groupdisplay=Cluster clusterwidth=1.0;
      endlayout;
      layout overlay;
         boxplot x=_NAME y=_WEIGHT2 / name='box3' boxwidth=0.4 groupdisplay=Cluster clusterwidth=1.0;
      endlayout;
      layout overlay;
         boxplot x=_SEX2 y=_HEIGHT2 / name='box4' boxwidth=0.4 groupdisplay=Cluster clusterwidth=1.0;
      endlayout;
   endlayout;
endgraph;
end;
run;
 
proc sgrender DATA=SASHELP.CLASS  template=sgdesign;
dynamic _SEX="SEX" _HEIGHT="HEIGHT" _AGE="AGE" _WEIGHT="WEIGHT" _NAME="NAME" _WEIGHT2="WEIGHT" _SEX2="SEX" _HEIGHT2="HEIGHT";
run;
 
Créé le 20 décembre 2012  par fafabzh6

À l'aide des options 'entrytitle', 'entryfootnote' et 'entry' de la procédure TEMPLATE vous pouvez gérer les titres des graphiques.

Le code ci-dessous est un exemple vous permettant de réaliser cette manipulation.

 
Sélectionnez

proc template;
define statgraph sgdesign;
dynamic _SEX _HEIGHT _AGE _WEIGHT _NAME _WEIGHT2 _SEX2 _HEIGHT2;
begingraph;
   entrytitle halign=center 'Saisissez votre titre...';
   entryfootnote halign=LEFT 'Saisissez votre note de bas de page...';
   layout lattice / rowdatarange=DATA columndatarange=DATA rows=2 COLUMNS=2 rowgutter=10 columngutter=10 rowweights=(0.5 0.5);
      layout overlay;
         boxplot x=_SEX y=_HEIGHT / name='box' boxwidth=0.4 discreteoffset=0.0 clusterwidth=1.0;
         entry halign=center 'Titre 1' / valign=top location=outside textattrs=(style=italic weight=normal );
      endlayout;
      layout overlay;
         boxplot x=_AGE y=_WEIGHT / name='box2' boxwidth=0.4 groupdisplay=Cluster clusterwidth=1.0;
         entry halign=center 'Titre 2' / valign=top location=outside textattrs=(style=normal weight=bold );
      endlayout;
      layout overlay;
         boxplot x=_NAME y=_WEIGHT2 / name='box3' boxwidth=0.4 groupdisplay=Cluster clusterwidth=1.0;
         entry halign=center 'Titre 3' / valign=top location=outside;
      endlayout;
      layout overlay;
         boxplot x=_SEX2 y=_HEIGHT2 / name='box4' boxwidth=0.4 groupdisplay=Cluster clusterwidth=1.0;
         entry halign=center 'Titre 4' / valign=top location=outside;
      endlayout;
   endlayout;
endgraph;
end;
run;
 
proc sgrender DATA=SASHELP.CLASS  template=sgdesign;
dynamic _SEX="SEX" _HEIGHT="HEIGHT" _AGE="AGE" _WEIGHT="WEIGHT" _NAME="NAME" _WEIGHT2="WEIGHT" _SEX2="SEX" _HEIGHT2="HEIGHT";
run;
Créé le 20 décembre 2012  par fafabzh6

À l'aide des procédures TEMPLATE et SGENDER, vous pouvez contrôler l'apparence de vos boxplots.

Ci-dessous un exemple de programme SAS :

 
Sélectionnez

PROC TEMPLATE ;
   DEFINE STATGRAPH boxplot.lapin / STORE=work.modeles ;
      DYNAMIC couleur1 couleur2 ;
      BEGINGRAPH ;
	    LAYOUT LATTICE / ROWS=2 ROWWEIGHTS=(.8 .2) ;
		    LAYOUT OVERLAY ;
	            BOXPLOT X=country Y=actual / FILLATTRS=(COLOR=couleur1) ;
				BOXPLOT X=country Y=actualBis / FILLATTRS=(COLOR=couleur2) ;
			ENDLAYOUT ;
			LAYOUT GRIDDED / ROWS=2 ;
				BLOCKPLOT X=country BLOCK=moy / VALUEHALIGN=CENTER 
												DISPLAY=(label VALUES) ;
				BLOCKPLOT X=country BLOCK=et  / VALUEHALIGN=CENTER 
												DISPLAY=(label VALUES) ;
			ENDLAYOUT ;
		ENDLAYOUT ;
      ENDGRAPH ;
   END ;
RUN ;
ODS PATH (PREPEND) work.modeles ;
PROC SQL ;
  CREATE TABLE work.sales AS
    SELECT *,
	       CASE WHEN (country EQT "G") THEN actual ELSE . END AS actualBis,
		   MEAN(actual) AS moy LABEL="Moy=",
		   STD(actual) AS et LABEL="Std="
	FROM sashelp.prdsale 
    WHERE FIRST(country) IN ("G","C") 
    GROUP BY country ;
QUIT ;
PROC SGRENDER DATA=work.sales TEMPLATE=boxplot.lapin ;
  DYNAMIC couleur1 = "red" couleur2 = "yellow" ;
RUN ;
Créé le 20 décembre 2012  par fafabzh6
  

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2011 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.