Visualisation avancée avec SGPANEL et mises en page Lattice

Niveau de difficulté
Débutant
Publié le :
Ce programme illustre différentes techniques pour personnaliser les graphiques en panneaux (panel plots) avec la procédure SGPANEL. Il se concentre sur l'utilisation de la disposition 'rowlattice' et remplace les en-têtes de bandeaux classiques par des insets (encarts) à l'intérieur des graphiques pour une présentation plus épurée.
Analyse des données

Type : SASHELP


Les données proviennent de la table SASHELP.HEART. Un filtrage est appliqué pour exclure les causes de décès 'Unknown' et 'Other'.

1 Bloc de code
DATA STEP Data
Explication :
Initialisation des paramètres ODS (chemin, résolution) et création d'une table de travail 'heart' filtrée à partir de 'sashelp.heart'.
Copié !
1%let gpath='.';
2%let dpi=200;
3 
4ods html close;
5ods listing gpath=&gpath image_dpi=&dpi;
6 
7DATA heart;
8 SET sashelp.heart(where=(deathcause ne 'Unknown' and deathcause ne 'Other'));
9RUN;
2 Bloc de code
PROC SGPANEL
Explication :
Génération d'un premier graphique 'Row Lattice' standard. Utilise 'layout=rowlattice' pour empiler les graphiques horizontalement et 'novarname' pour masquer le nom de la variable de classification.
Copié !
1ods graphics / reset attrpriority=color width=4in height=4in imagename='RowLattice';
2title 'Distribution of Cholesterol by Death Cause';
3PROC SGPANEL DATA=heart noautolegend;
4 panelby deathcause / layout=rowlattice onepanel novarname spacing=10;
5 histogram cholesterol;
6 density cholesterol;
7 rowaxis offsetmin=0;
8 colaxis max=420;
9RUN;
3 Bloc de code
PROC SGPANEL
Explication :
Variante du graphique précédent supprimant les en-têtes de panneaux ('noheader') et affichant la valeur de la variable de classification directement dans la zone graphique via l'instruction 'INSET'.
Copié !
1ods graphics / reset attrpriority=color width=4in height=4in imagename='RowLatticeInset';
2title 'Distribution of Cholesterol by Death Cause';
3PROC SGPANEL DATA=heart noautolegend;
4 panelby deathcause / layout=rowlattice onepanel noheader spacing=10;
5 inset deathcause / position=topleft nolabel;
6 histogram cholesterol;
7 density cholesterol;
8 rowaxis offsetmin=0;
9 colaxis max=420;
10RUN;
4 Bloc de code
PROC SGPANEL
Explication :
Similaire au bloc précédent, mais ajoute une couleur de fond ('backcolor=silver') à l'inset pour mieux distinguer l'étiquette du reste du graphique.
Copié !
1ods graphics / reset attrpriority=color width=4in height=4in imagename='RowLatticeInset2';
2title 'Distribution of Cholesterol by Death Cause';
3PROC SGPANEL DATA=heart noautolegend;
4 panelby deathcause / layout=rowlattice onepanel noheader spacing=10;
5 inset deathcause / position=topleft nolabel backcolor=silver;
6 histogram cholesterol;
7 density cholesterol;
8 rowaxis offsetmin=0;
9 colaxis max=420;
10RUN;
5 Bloc de code
PROC SGPANEL
Explication :
Utilisation de 'layout=lattice' avec deux variables de classification (Sex et DeathCause). Les deux sont affichées via un 'INSET' dans le coin supérieur gauche, sans en-têtes externes.
Copié !
1ods graphics / reset attrpriority=color width=4in height=4in imagename='LatticeInset';
2title 'Distribution of Cholesterol by Death Cause';
3PROC SGPANEL DATA=heart noautolegend;
4 panelby sex deathcause / layout=lattice onepanel noheader spacing=10;
5 inset deathcause sex / position=topleft nolabel;
6 histogram cholesterol;
7 density cholesterol;
8 rowaxis offsetmin=0 offsetmax=0.15;
9 colaxis max=420;
10RUN;
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.

Documentation liée

Aucune documentation spécifique pour cette catégorie.