Le script commence par définir des données numériques 'x', 'y1' et 'y2' via des datalines. Il calcule ensuite la somme 'x_total' et les pourcentages 'y1_pct' et 'y2_pct' pour chaque ligne, qui serviront de bornes inférieures et supérieures pour les bandes du graphique. L'output est dirigé vers un fichier HTML et une image PNG est générée. PROC SGPLOT est utilisée avec deux déclarations BAND pour créer le graphique d'aire empilée, où les axes X et Y sont configurés pour afficher des valeurs et des étiquettes spécifiques, assurant une visualisation claire des proportions.
Analyse des données
Type : CREATION_INTERNE
Les données 'my_data' sont créées directement dans le script à l'aide de la clause DATALINES. Elles ne proviennent pas d'une source externe ou d'une bibliothèque SAS standard comme SASHELP.
1 Bloc de code
MACRO VAR
Explication : Définit une variable macro `name` utilisée pour nommer le fichier de sortie HTML et l'image.
Copié !
%let name=area3;
1
%let name=area3;
2 Bloc de code
FILEREF
Explication : Assigne la référence de fichier `odsout` au répertoire de travail courant, où les fichiers ODS seront sauvegardés.
Copié !
filename odsout '.';
1
filename odsout '.';
3 Bloc de code
DATA STEP Data
Explication : Crée le jeu de données `my_data` avec les variables `x`, `y1`, `y2`. Une nouvelle variable `x_total` est calculée comme la somme de `y1` et `y2`. Les données sont fournies directement dans le script via `datalines`.
Explication : Modifie le jeu de données `my_data` existant en calculant des variables de pourcentage nécessaires pour le graphique d'aire empilée. `y1_pct` et `y2_pct` représentent les proportions relatives de `y1` et `y2`, et `base1_pct` et `base2_pct` définissent les points de départ pour les bandes du graphique.
Copié !
data my_data; set my_data;
base1_pct=0; y1_pct=y1/x_total;
base2_pct=y1_pct; y2_pct=y1_pct+(y2/x_total);
run;
1
DATA my_data; SET my_data;
2
base1_pct=0; y1_pct=y1/x_total;
3
base2_pct=y1_pct; y2_pct=y1_pct+(y2/x_total);
4
RUN;
5 Bloc de code
ODS
Explication : Ferme la destination ODS LISTING par défaut et ouvre une destination ODS HTML. Le fichier HTML de sortie est nommé dynamiquement en utilisant la variable macro `&name` et inclut un titre spécifié et un style `htmlblue`.
Copié !
ODS LISTING CLOSE;
ODS HTML path=odsout body="&name..htm"
(title="SGplot 100% Stacked Area Plot")
style=htmlblue;
1
ODS LISTING CLOSE;
2
ODS HTML path=odsout body="&name..htm"
3
(title="SGplot 100% Stacked Area Plot")
4
style=htmlblue;
6 Bloc de code
ODS GRAPHICS
Explication : Configure les options pour la sortie graphique ODS. Spécifie le format PNG pour l'image, nomme le fichier image, et définit la largeur, la hauteur et l'absence de bordure.
Explication : Définit le titre principal du graphique, en spécifiant la couleur, l'interligne et la hauteur de la police.
Copié !
title1 color=gray33 ls=0.0 h=23pt "100% Stacked Area Plot";
1
title1 color=gray33 ls=0.0 h=23pt "100% Stacked Area Plot";
2
8 Bloc de code
PROC SGPLOT
Explication : Génère le graphique d'aire empilée à l'aide de PROC SGPLOT. Il utilise `my_data` et désactive la légende automatique. Deux déclarations `BAND` sont utilisées pour créer les zones empilées, en se basant sur les variables de pourcentage calculées. Les axes Y et X sont personnalisés avec des plages de valeurs, des étiquettes, des attributs de police et des grilles.
Copié !
proc sgplot data=my_data noautolegend;
styleattrs datacolors=(cx993366 cx9999ff);
band x=x lower=base1_pct upper=y1_pct;
band x=x lower=base2_pct upper=y2_pct;
yaxis
values=(0 to 1 by .2) label='Y Axis'
labelattrs=(size=16pt weight=bold color=gray33)
valueattrs=(size=16pt weight=bold color=gray33)
offsetmin=0 offsetmax=0 grid;
xaxis
values=(0 to 5 by 1) label='X Axis'
labelattrs=(size=16pt weight=bold color=gray33)
valueattrs=(size=16pt weight=bold color=gray33)
offsetmin=0 offsetmax=0 grid;
run;
quit;
1
PROC SGPLOTDATA=my_data noautolegend;
2
styleattrs datacolors=(cx993366 cx9999ff);
3
band x=x lower=base1_pct upper=y1_pct;
4
band x=x lower=base2_pct upper=y2_pct;
5
yaxis
6
values=(0 to 1BY .2) label='Y Axis'
7
labelattrs=(size=16pt weight=bold color=gray33)
8
valueattrs=(size=16pt weight=bold color=gray33)
9
offsetmin=0 offsetmax=0 grid;
10
xaxis
11
values=(0 to 5BY1) label='X Axis'
12
labelattrs=(size=16pt weight=bold color=gray33)
13
valueattrs=(size=16pt weight=bold color=gray33)
14
offsetmin=0 offsetmax=0 grid;
15
RUN;
16
17
QUIT;
9 Bloc de code
ODS
Explication : Ferme la destination ODS HTML précédemment ouverte et réactive la destination ODS LISTING par défaut.
Copié !
ODS HTML CLOSE;
ODS LISTING;
1
ODS HTML CLOSE;
2
ODS LISTING;
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.
SAS et tous les autres noms de produits ou de services de SAS Institute Inc. sont des marques déposées ou des marques de commerce de SAS Institute Inc. aux États-Unis et dans d'autres pays. ® indique un enregistrement aux États-Unis. WeAreCAS est un site communautaire indépendant et n'est pas affilié à SAS Institute Inc.
Ce site utilise des cookies techniques et analytiques pour améliorer votre expérience.
En savoir plus.