Ce script illustre comment modifier l'apparence des légendes dans PROC SGPLOT via l'instruction KEYLEGEND. Il couvre plusieurs cas d'usage : ajustement de la longueur des lignes, modification de l'échelle des symboles, contrôle du ratio d'aspect des zones de remplissage, et utilisation de formats personnalisés contenant des caractères Unicode (symbole 'supérieur ou égal').
Analyse des données
Type : SASHELP
Le script utilise exclusivement les tables d'exemple standards SASHELP.CARS et SASHELP.HEART.
1 Bloc de code
PROC FORMAT
Explication : Configuration de l'environnement de sortie graphique (ODS) et création d'un format personnalisé 'agegroupUnicode' qui utilise une séquence d'échappement pour afficher le symbole mathématique 'supérieur ou égal' (Unicode 2265).
Explication : Modification de la longueur de la ligne représentative dans la légende à l'aide de l'option 'linelength=32' dans l'instruction KEYLEGEND.
Explication : Contrôle précis des dimensions des rectangles de légende (swatches) avec 'fillheight' (hauteur) et 'fillaspect' (ratio d'aspect, ici le nombre d'or).
Copié !
/*--Legend Line Length and Swatch--*/
ods graphics / reset width=5in height=3in imagename='LegendLineAspect';
title 'MSRP by Horsepower';
proc sgplot data=sashelp.cars(where=(type eq 'Sedan'));
styleattrs axisextent=data;
reg x=horsepower y=msrp / cli clm degree=2;
keylegend / linelength=32 fillheight=2.5pct fillaspect=golden;
run;
Explication : Graphique en barres complexe utilisant le format Unicode défini précédemment. La légende est placée à l'intérieur du graphique ('location=inside'), rendue opaque, et ses dimensions sont personnalisées pour s'adapter au style 'dataskin=pressed'.
Copié !
/*--Legend Swatch--*/
ods graphics / reset width=5in height=3in imagename='DeathsUnicode';
title 'Counts by Death Cause and Age Group';
proc sgplot data=sashelp.heart(where=(deathcause ne 'Unknown')) nocycleattrs noborder;
format ageatdeath agegroupUnicode.;
vbar ageatdeath / group=deathcause groupdisplay=cluster fillattrs=(color=white);
vbar ageatdeath / group=deathcause groupdisplay=cluster nooutline
baselineattrs=(thickness=0) dataskin=pressed filltype=gradient name='a';
keylegend 'a' / location=inside across=1 title='' fillheight=2.5pct fillaspect=2.5 opaque;
xaxis display=(nolabel noline);
yaxis label='Count' grid display=(noline noticks);
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.
« La clarté d'un graphique ne repose pas uniquement sur la data-visualisation elle-même, mais sur la précision de sa légende. L'utilisation de la procédure PROC SGPLOT offre un contrôle granulaire sur l'instruction KEYLEGEND, permettant de transformer une légende générique en un outil de lecture haute performance. Ce script démontre des techniques avancées comme l'ajustement du LINELENGTH pour faciliter la distinction entre les types de lignes (régressions vs intervalles de confiance) et la modification du FILLASPECT (ratio d'aspect) pour les zones de remplissage. L'intégration de caractères Unicode (symbole $\ge$) via un format personnalisé (PROC FORMAT) assure une rigueur scientifique indispensable pour la publication de rapports d'analyse. »
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.