Publié le :
Reporting CREATION_INTERNE

Génération de graphique à bulles avec SGPLOT

Ce code est également disponible en : Deutsch English Español
En attente de validation
Le script commence par définir une variable macro 'name' pour la nomination des fichiers de sortie. Une référence de fichier 'odsout' est ensuite assignée au répertoire courant pour la gestion des sorties ODS. Une table de données SAS© nommée 'my_data' est créée en utilisant une étape DATA et des datalines, contenant des variables catégorielles et numériques nécessaires au graphique. La sortie ODS LISTING est temporairement fermée, et la destination ODS HTML est activée, configurant la création d'un fichier HTML et d'une image PNG à partir du graphique généré. Un titre personnalisé est appliqué au graphique. La procédure PROC SGPLOT est invoquée pour créer le graphique à bulles, en spécifiant les variables pour les axes X et Y, la taille des bulles (basée sur 'value') et le groupement des bulles (basé sur 'series'). Les styles des couleurs et des lignes, ainsi que les attributs des axes, sont définis pour améliorer la lisibilité. Enfin, la procédure est terminée par 'quit;', la destination ODS HTML est fermée, et la sortie ODS LISTING est réactivée.
Analyse des données

Type : CREATION_INTERNE


Les données utilisées pour le graphique sont entièrement générées au sein du script via une étape DATA avec des 'datalines'. La table résultante est 'my_data'.

1 Bloc de code
Macro
Explication :
Définit une variable macro 'name' avec la valeur 'bub1'. Cette variable sera utilisée ultérieurement pour nommer les fichiers de sortie (HTML, PNG).
Copié !
1%let name=bub1;
2 Bloc de code
Global Statement
Explication :
Assignation d'une référence de fichier (fileref) 'odsout' au répertoire de travail courant. Cela indique à SAS où enregistrer les fichiers de sortie générés par ODS.
Copié !
1filename odsout '.';
3 Bloc de code
DATA STEP Data
Explication :
Crée la table de données SAS 'my_data'. La variable 'color' est définie avec une longueur de 8 caractères. Les variables 'series', 'x', 'y' et 'value' sont lues à partir des lignes de données ('datalines') fournies directement dans le script.
Copié !
1DATA my_data;
2LENGTH color $ 8;
3INPUT series $ 1-1 x y value;
4DATALINES;
5A 1.0 1.0 .65
6A 2.0 0.9 0.3
7B 1.4 2.3 .65
8B 2.2 1.4 0.3
9;
10RUN;
4 Bloc de code
ODS Statements
Explication :
Ferme la destination ODS LISTING par défaut. Ouvre ensuite la destination ODS HTML, spécifiant le chemin de sortie via le fileref 'odsout', le nom du fichier HTML ('bub1.htm' grâce à la macro variable '&name'), un titre pour le document HTML et un style 'htmlblue'. Les options 'ods graphics' sont configurées pour générer une image PNG ('bub1.png') de 800x600 pixels sans bordure et avec une carte d'image.
Copié !
1ODS LISTING CLOSE;
2ODS HTML path=odsout body="&name..htm"
3 (title="SGplot Bubble Plot")
4 style=htmlblue;
5 
6ods graphics / imagefmt=png imagename="&name"
7 width=800px height=600px noborder imagemap;
5 Bloc de code
Global Statement
Explication :
Définit le premier titre du graphique. Il est stylisé avec la couleur 'gray33', un espacement de ligne de 0.0 et une hauteur de police de 23 points, affichant le texte 'Bubble Plot'.
Copié !
1title1 color=gray33 ls=0.0 h=23pt "Bubble Plot";
6 Bloc de code
PROC SGPLOT
Explication :
Exécute la procédure SGPLOT pour créer le graphique à bulles. Elle utilise la table 'my_data'. Les couleurs des bulles sont définies par 'styleattrs datacolors'. La déclaration 'bubble' spécifie 'x' et 'y' pour les positions, 'value' pour la taille, et 'series' pour le groupement, avec des options supplémentaires pour le rayon maximum et les attributs de ligne. Les axes X et Y sont entièrement personnalisés avec des plages de valeurs, des labels stylisés, des valeurs d'affichage et des grilles mineures.
Copié !
1PROC SGPLOT DATA=my_data aspect=1 noautolegend;
2styleattrs datacolors=(cx9999ff cx993366);
3bubble x=x y=y size=value / group=series proportional
4 bradiusmax=70px lineattrs=(color=gray33);
5yaxis
6 values=(0 to 3 BY 1) 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 minor minorcount=1;
10xaxis
11 values=(0 to 3 BY 1) 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 minor minorcount=1;
15RUN;
7 Bloc de code
ODS Statements
Explication :
Termine l'exécution de la procédure SGPLOT avec 'quit;'. Ferme ensuite la destination ODS HTML précédemment ouverte et réactive la destination ODS LISTING, rétablissant le comportement de sortie par défaut de SAS.
Copié !
1QUIT;
2ODS HTML CLOSE;
3ODS 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.