Veröffentlicht am :

Erstellung eines zusammengesetzten Grafikpanels mit GTL

Dieser Code ist auch verfügbar auf: English Español Français
Wartet auf Validierung
Dieses Skript demonstriert die fortgeschrittene Verwendung der TEMPLATE Prozedur und der GTL (Graph Template Language) zur Definition eines benutzerdefinierten Layouts (Gitter-Layout). Es visualisiert Daten aus der Herzstudie (SASHELP.HEART) und vergleicht Merkmale nach Geschlecht und Todesursache. Das Panel enthält ein Streudiagramm (Cholesterin vs. Systolisch), ein Balkendiagramm der Durchschnittsgewichte und Boxplots des diastolischen Blutdrucks.
Datenanalyse

Type : SASHELP


Die Daten stammen aus der Standardtabelle SASHELP.HEART. Ein DATA-Schritt wird verwendet, um bestimmte Werte der Variable 'deathcause' (CVD, CHD) für eine bessere grafische Lesbarkeit neu zu kodieren.

1 Codeblock
INITIALIZATION
Erklärung :
Konfiguration der ODS-Ausgabeumgebung (Output Delivery System), Definition des Ausgabepfads und der Bildauflösung (DPI).
Kopiert!
1%let gpath='.'; /*--Put your Folder Name here--*/
2%let dpi=300;
3ods listing style=listing image_dpi=&dpi gpath=&gpath;
4ods html close;
2 Codeblock
PROC TEMPLATE
Erklärung :
Definition des Grafikmodells 'Fig_7_0_Panel' unter Verwendung von GTL. Das 'Gitter'-Layout teilt den Raum in zwei Spalten (Gewichtung 60%/40%). Die erste Spalte enthält ein Streudiagramm. Die zweite Spalte ist in zwei Zeilen unterteilt, die ein Balkendiagramm und ein Boxplot enthalten.
Kopiert!
1PROC TEMPLATE;
2 define statgraph Fig_7_0_Panel;
3 begingraph;
4 entrytitle "Characteristics of Subjects in the Study";
5 layout lattice / columns=2 columnweights=(0.6 0.4) columngutter=10px;
6 sidebar / spacefill=false;
7 discretelegend 'a';
8 endsidebar;
9 layout overlay;
10 scatterplot x=cholesterol y=systolic / group=sex name='a'
11 markerattrs=(symbol=circlefilled) datatransparency=0.5;
12 endlayout;
13 layout lattice / rows=2 columndatarange=union;
14 columnaxes;
15 columnaxis / discreteopts=(tickvaluefitpolicy=stagger) tickvalueattrs=(size=6);
16 endcolumnaxes;
17 layout overlay / yaxisopts=(labelattrs=(size=8) tickvalueattrs=(size=6)
18 label='Weight(mean)' offsetmin=0)
19 xaxisopts=(labelattrs=(size=8) tickvalueattrs=(size=6));
20 barchart x=deathcause y=weight / group=sex groupdisplay=cluster
21 baselineattrs=(thickness=0) fillattrs=(transparency=0.2) outlineattrs=(color=black);
22 endlayout;
23 layout overlay / yaxisopts=(labelattrs=(size=8) tickvalueattrs=(size=6))
24 xaxisopts=(labelattrs=(size=8) tickvalueattrs=(size=6));
25 boxplot y=diastolic x=deathcause / group=sex groupdisplay=cluster
26 fillattrs=(transparency=0.2) meanattrs=(size=5 color=black) outlineattrs=(color=black);
27 endlayout;
28 endlayout;
29 endlayout;
30 endgraph;
31 END;
32RUN;
3 Codeblock
DATA STEP Data
Erklärung :
Datenvorbereitung: Lesen von SASHELP.HEART (mit Variablenauswahl über KEEP) und Neukodierung langer Zeichenketten in der Variable 'deathcause', um die Anzeige auf den grafischen Achsen zu vereinfachen.
Kopiert!
1DATA heart;
2 SET sashelp.heart(keep=Cholesterol Systolic Diastolic Deathcause Sex Weight);
3 IF deathcause="Cerebral Vascular Disease" THEN deathcause="CVD";
4 ELSE IF deathcause="Coronary Heart Disease" THEN deathcause="CHD";
5 ELSE deathcause=deathcause;
6RUN;
4 Codeblock
PROC SGRENDER
Erklärung :
Endgültige Generierung der Grafik. ODS Graphics wird mit spezifischen Dimensionen aktiviert, dann wird PROC SGRENDER aufgerufen, um das zuvor definierte Modell ('Fig_7_0_Panel') auf die vorbereiteten Daten ('heart') anzuwenden.
Kopiert!
1ods listing;
2ods graphics / reset width=6in height=2.4in imagename="7_0_Panel_V93";
3PROC SGRENDER DATA=heart template=Fig_7_0_Panel;
4RUN;
5 
6title;
7footnote;
Dieses Material wird von We Are Cas "wie besehen" zur Verfügung gestellt. Es gibt keine ausdrücklichen oder stillschweigenden Garantien hinsichtlich der Marktgängigkeit oder Eignung für einen bestimmten Zweck in Bezug auf die hierin enthaltenen Materialien oder Codes. We Are Cas ist nicht verantwortlich für Fehler in diesem Material, wie es jetzt existiert oder existieren wird, noch bietet We Are Cas technischen Support dafür an.