Veröffentlicht am :
Berichterstattung CREATION_INTERNE

Erstellung eines gestapelten Balkendiagramms mit SGPLOT

Dieser Code ist auch verfügbar auf: English Español Français
Wartet auf Validierung
Das Skript beginnt mit der Definition einer Makrovariablen 'name' zur Benennung der Ausgabedateien. Anschließend wird ein Datensatz 'my_data' unter Verwendung interner 'datalines' erstellt. Die ODS-Anweisungen (Output Delivery System) werden so konfiguriert, dass sie eine HTML-Ausgabe mit dem Diagramm erzeugen. PROC SGPLOT wird verwendet, um ein gestapeltes Balkendiagramm zu erstellen, das die Variable 'AMOUNT' nach 'SERIES' auf der Kategorienachse gruppiert visualisiert. Benutzerdefinierte Titel und Stilattribute werden angewendet, um die Präsentation zu verbessern. Schließlich werden die ODS-Ziele geschlossen.
Datenanalyse

Type : CREATION_INTERNE


Der Datensatz 'my_data' wird direkt im SAS-Skript mit der 'datalines'-Methode erstellt, was bedeutet, dass die Daten in den Code integriert sind und nicht aus einer externen Quelle oder SAS-Standardbibliotheken wie SASHELP stammen.

1 Codeblock
Initialkonfiguration
Erklärung :
Dieser Block initialisiert eine Makrovariable `name`, die zum Benennen der HTML-Ausgabedatei und des Bildes verwendet wird. Die Anweisung `filename odsout '.'` leitet die ODS-Ausgabe in das aktuelle Arbeitsverzeichnis um.
Kopiert!
1%let name=col3;
2 
3filename odsout '.';
2 Codeblock
DATA STEP Data
Erklärung :
Dieser DATA STEP erstellt einen Datensatz namens 'my_data' im Speicher. Er liest die im 'datalines'-Block bereitgestellten Daten und definiert drei Variablen: 'CATEGORY' (numerisch), 'SERIES' (Zeichen, von Position 3 bis 11) und 'AMOUNT' (numerisch).
Kopiert!
1DATA my_data;
2INPUT CATEGORY SERIES $ 3-11 AMOUNT;
3DATALINES;
41 Series A 5
52 Series A 6.8
63 Series A 9.2
71 Series B 6.5
82 Series B 6.9
93 Series B 5.6
10;
11RUN;
3 Codeblock
ODS-Konfiguration und Titel
Erklärung :
Dieser Block konfiguriert das ODS-Ausgabesystem. Zuerst wird das Standard-LISTING-Ziel geschlossen, dann ein HTML-Ziel geöffnet, die Datei 'col3.htm' benannt und der Stil 'htmlblue' angewendet. Die `ods graphics`-Optionen definieren das Bildformat (PNG), den Namen der Bilddatei ('col3') sowie deren Abmessungen und Attribute. `title`-Anweisungen werden verwendet, um dem Diagramm benutzerdefinierte Titel mit spezifischen Stilen hinzuzufügen.
Kopiert!
1ODS LISTING CLOSE;
2ODS HTML path=odsout body="&name..htm"
3 (title="SGplot Stacked Bar")
4 style=htmlblue;
5 
6ods graphics / imagefmt=png imagename="&name"
7 width=800px height=600px noborder imagemap;
8 
9title1 color=gray33 ls=0.5 h=23pt "Stacked Bar";
10title2 color=gray33 ls=0.5 h=17pt "Compares the contribution of each value";
11title3 color=gray33 ls=0.5 h=17pt "to a total across categories";
4 Codeblock
PROC SGPLOT
Erklärung :
Diese `SGPLOT`-Prozedur generiert ein gestapeltes Balkendiagramm aus dem Datensatz 'my_data'. Sie deaktiviert die automatische Legende und fügt eine Polsterung hinzu. Die Balkenfarben werden über `styleattrs` definiert. Die `vbar`-Anweisung erstellt die vertikalen Balken, stapelt die Variable 'AMOUNT' ('response') nach 'SERIES' ('group') und berechnet die Summe ('stat=sum'). Die Y- und X-Achsen werden mit spezifischen Beschriftungen, Werten und Stilen, einschließlich eines Rasters für die Y-Achse, angepasst.
Kopiert!
1PROC SGPLOT DATA=my_data noautolegend pad=(left=10% right=15%);
2styleattrs datacolors=(cx9999ff cx993366);
3vbar category / response=amount stat=sum
4 group=series barwidth=.6
5 outlineattrs=(color=black) nostatlabel;
6yaxis
7 values=(0 to 16 BY 4)
8 labelattrs=(size=16pt weight=bold color=gray33)
9 valueattrs=(size=16pt weight=bold color=gray33)
10 offsetmax=0 grid minor minorcount=3;
11xaxis
12 labelattrs=(size=16pt weight=bold color=gray33)
13 valueattrs=(size=16pt weight=bold color=gray33)
14 display=(noticks);
15RUN;
5 Codeblock
ODS-Schließung
Erklärung :
Dieser finale Block schließt die aktuelle Prozedur (`quit`), schließt dann explizit das ODS HTML-Ziel und reaktiviert das LISTING-Ziel, wodurch die Standard-ODS-Umgebung wiederhergestellt wird.
Kopiert!
1QUIT;
2ODS HTML CLOSE;
3ODS LISTING;
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.