Publié le :
Reporting CREATION_INTERNE

Graphique à barres groupées avec SGPLOT

Ce code est également disponible en : Deutsch English Español
En attente de validation
Le script initialise une variable macro `name` à 'col1'. Il définit ensuite un `fileref` `odsout` pour pointer vers le répertoire courant. Un `DATA STEP` est utilisé pour créer un jeu de données `my_data` avec des catégories, séries et montants. L'output est configuré pour générer un fichier HTML (`col1.htm`) et une image PNG via ODS HTML et ODS Graphics. La `PROC SGPLOT` est ensuite appelée pour créer un graphique à barres verticales groupées, visualisant la somme des montants par catégorie, groupés par série, avec des titres et des attributs d'axe personnalisés.
Analyse des données

Type : CREATION_INTERNE


Les données sont directement intégrées dans le script SAS via un bloc `datalines` dans un `DATA STEP` nommé `my_data`. Aucune source de données externe ou bibliothèque SASHELP n'est utilisée pour l'entrée principale du graphique.

1 Bloc de code
DATA STEP Data
Explication :
Ce bloc `DATA STEP` crée le jeu de données `my_data` qui sera utilisé pour le graphique. Il lit quatre observations avec les variables `CATEGORY`, `SERIES` (caractère, longueur 3-11) et `AMOUNT` (numérique) à partir des `datalines`.
Copié !
1DATA my_data;
2 INPUT CATEGORY SERIES $ 3-11 AMOUNT;
3 DATALINES;
41 Series A 5
52 Series A 7.8
61 Series B 9.5
72 Series B 5.9
8 ;
9RUN;
2 Bloc de code
PROC SGPLOT
Explication :
Ce bloc initialise la variable macro `name`, puis configure la sortie ODS pour générer un fichier HTML (`col1.htm`) et des graphiques PNG dans le répertoire courant. La `PROC SGPLOT` est ensuite invoquée pour créer un graphique à barres verticales groupées à partir du jeu de données `my_data`. Les barres représentent la somme des `AMOUNT` pour chaque `CATEGORY`, groupées par `SERIES`. Des options de style, de couleur et d'axe sont appliquées pour améliorer la visualisation. Le graphique est exporté sous forme d'image PNG et intégré dans le fichier HTML.
Copié !
1%let name=col1;
2 
3filename odsout '.';
4 
5ODS LISTING CLOSE;
6ODS HTML path=odsout body="&name..htm"
7 (title="SGplot Grouped Bar")
8 style=htmlblue;
9 
10ods graphics / imagefmt=png imagename="&name"
11 width=800px height=600px noborder imagemap;
12 
13title1 color=gray33 ls=0.5 h=23pt "Grouped Bar";
14title2 color=gray33 ls=0.5 h=17pt "Compares values across categories";
15 
16PROC SGPLOT DATA=my_data noautolegend;
17 styleattrs datacolors=(cx9999ff cx993366);
18 vbar category / response=amount stat=sum
19 group=series groupdisplay=cluster
20 outlineattrs=(color=black) nostatlabel;
21 yaxis
22 values=(0 to 10 BY 2)
23 labelattrs=(size=16pt weight=bold color=gray33)
24 valueattrs=(size=16pt weight=bold color=gray33)
25 offsetmax=0 grid minor minorcount=1;
26 xaxis
27 labelattrs=(size=16pt weight=bold color=gray33)
28 valueattrs=(size=16pt weight=bold color=gray33)
29 labelpos=right;
30RUN;
31 
32QUIT;
33ODS HTML CLOSE;
34ODS 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.