Publié le :
Reporting CREATION_INTERNE

Graphiques avec axes cassés

Ce code est également disponible en : Deutsch English Español
En attente de validation
Le script initialise les options ODS pour la sortie graphique. Il crée deux jeux de données internes : 'TallBar' via des datalines pour démontrer un graphique à barres avec une valeur extrême, et 'outOfRange' via un DATA STEP génératif pour un nuage de points avec des valeurs distribuées et une valeur aberrante. Ensuite, il utilise PROC SGPLOT pour créer un graphique à barres simple, un graphique à barres avec un axe Y cassé de manière 'Full', un nuage de points avec un axe Y cassé de type 'Bracket', et un nuage de points avec un axe Y cassé de type 'Spark' tout en configurant les extensions d'axe.
Analyse des données

Type : CREATION_INTERNE


Toutes les données utilisées ('TallBar' et 'outOfRange') sont créées directement dans le script SAS via des DATA STEPS et des datalines ou la génération de données aléatoires, sans dépendance à des sources externes ou à la bibliothèque SASHELP.

1 Bloc de code
Macro Variables/ODS
Explication :
Définit les variables macro `gpath` pour le chemin de sortie des images et `dpi` pour la résolution en points par pouce. Ferme la destination ODS HTML par défaut et ouvre la destination ODS LISTING avec un style 'listing', en configurant le chemin de sortie des images et leur résolution.
Copié !
1%let gpath='.';
2%let dpi=200;
3ods html close;
4ods listing style=listing gpath=&gpath image_dpi=&dpi;
2 Bloc de code
DATA STEP Data
Explication :
Crée le jeu de données SAS nommé `TallBar`. Il contient deux variables : `X` (caractère) et `Y` (numérique). Les données sont fournies directement dans le script via l'instruction `datalines`, incluant une valeur significativement plus grande (400 pour 'E') qui sera utilisée pour illustrer la nécessité d'un axe cassé.
Copié !
1DATA TallBar;
2 INPUT X $ Y;
3 DATALINES;
4A 10
5B 15
6C 12
7D 17
8E 400
9;
10RUN;
3 Bloc de code
PROC SGPLOT
Explication :
Génère un graphique à barres vertical simple. `ods graphics` réinitialise les paramètres graphiques, définit la largeur, la hauteur et le nom de l'image de sortie. `proc sgplot` est utilisée avec le jeu de données `TallBar` et l'instruction `vbar x` crée les barres, `response=y` spécifie la variable de réponse, `nostatlabel` supprime les étiquettes de statistiques et `fillattrs` applique des attributs de remplissage.
Copié !
1ods graphics / reset width=5in height=3in imagename='Bar';
2PROC SGPLOT DATA=tallbar;
3 vbar x / response=y nostatlabel fillattrs=graphdata1;
4 RUN;
4 Bloc de code
PROC SGPLOT
Explication :
Crée un graphique à barres avec un axe Y 'cassé' pour gérer la valeur extrême de 'E'. L'option `yaxis ranges` divise l'axe Y en deux segments (de `min` à 44 et de 384 à `max`), créant visuellement une cassure. `baselineattrs=(thickness=0)` rend la ligne de base invisible et `values` définit les graduations de l'axe.
Copié !
1ods graphics / reset width=5in height=3in imagename='BarBrokenAxisFull';
2PROC SGPLOT DATA=tallbar;
3 vbar x / response=y nostatlabel fillattrs=graphdata2 baselineattrs=(thickness=0);
4 yaxis ranges=(min-44 384-max) values=(0 to 400 BY 10);
5 RUN;
5 Bloc de code
DATA STEP Data
Explication :
Crée le jeu de données SAS nommé `outOfRange` pour un nuage de points. Il génère 100 observations avec des valeurs aléatoires pour `x` et `y` en utilisant la fonction `ranuni`. Une observation supplémentaire `(x=0.5, y=9.1)` est ajoutée manuellement pour créer une valeur qui se démarque, utile pour démontrer les axes cassés dans les nuages de points.
Copié !
1DATA outOfRange;
2 keep x y;
3 DO i=1 to 100;
4 x=ranuni(2); y=ranuni(2) + 0.3*x; OUTPUT;
5 END;
6 x=0.5; y=9.1; OUTPUT;
7RUN;
6 Bloc de code
PROC SGPLOT
Explication :
Génère un nuage de points avec un axe Y cassé de style 'bracket'. `ods listing style=analysis` change le style de sortie. `styleattrs axisbreak=bracket` active le style 'bracket' pour la cassure d'axe. L'instruction `reg` ajoute une ligne de régression linéaire avec les limites de confiance (clm). `yaxis ranges` et `values` configurent l'affichage de l'axe Y.
Copié !
1ods listing style=analysis;
2ods graphics / reset width=5in height=3in imagename='ScatterBrokenAxisBracket';
3PROC SGPLOT DATA=outOfRange;
4 styleattrs axisbreak=bracket;
5 reg x=x y=y / clm markerattrs=(size=5);
6 yaxis ranges=(min-1.5 8.9-max) values=(0 to 10 BY 0.2) valueshint;
7 RUN;
7 Bloc de code
PROC SGPLOT
Explication :
Crée un nuage de points avec un axe Y cassé de style 'spark'. `ods listing style=journal` change le style de sortie. `styleattrs axisbreak=spark axisextent=data` active le style 'spark' pour la cassure d'axe et s'assure que les extensions d'axe sont basées sur les données. `nowall` et `noborder` suppriment respectivement le fond et la bordure du graphique. L'axe Y est configuré de manière similaire au graphique précédent pour montrer la cassure.
Copié !
1ods listing style=journal;
2ods graphics / reset width=5in height=3in imagename='ScatterBrokenAxisSpark';
3PROC SGPLOT DATA=outOfRange nowall noborder;
4 styleattrs axisbreak=spark axisextent=DATA ;
5 reg x=x y=y / clm markerattrs=(size=5);
6 yaxis ranges=(min-1.5 8.9-max) values=(0 to 10 BY 0.2) valueshint;
7 RUN;
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.