Veröffentlicht am :
Diagramm CREATION_INTERNE

100% gestapeltes Balkendiagramm 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 und eines Filerefs. Anschließend wird ein Datensatz namens 'my_data' aus DATALINES-Anweisungen erstellt. Ein PROC SQL-Schritt wird verwendet, um 'my_data' anzureichern, indem die Summe der Beträge pro Kategorie ('bartotal') berechnet wird. Ein zweiter DATA STEP berechnet den Prozentsatz jedes Betrags im Verhältnis zu seinem 'bartotal' ('catpct') und formatiert diese neue Variable. Schließlich konfiguriert das Skript die ODS-Ziele (HTML und PNG-Grafik) und verwendet PROC SGPLOT, um ein 100% gestapeltes Balkendiagramm zu generieren, das diese Prozentsätze mit ästhetischen Anpassungen für Achsen und Farben illustriert.
Datenanalyse

Type : CREATION_INTERNE


Der Hauptdatensatz 'my_data' wird direkt im Skript über eine DATALINES-Anweisung erstellt, was ihn zu einer internen Datenquelle des Codes macht.

1 Codeblock
Macro Variable / Fileref
Erklärung :
Definiert die Makrovariable 'name' für den Ausgabedateinamen und den 'Fileref' 'odsout', der auf das aktuelle Verzeichnis für ODS-Ausgaben verweist.
Kopiert!
1%let name=col5;
2filename odsout '.';
2 Codeblock
DATA STEP Data
Erklärung :
Erstellt den SAS-Datensatz 'my_data', indem die direkt im Skript bereitgestellten Rohdaten ('datalines') mit den Variablen CATEGORY, SERIES und AMOUNT gelesen werden.
Kopiert!
1DATA my_data;
2INPUT CATEGORY SERIES $ 3-11 AMOUNT;
3DATALINES;
41 Series A 5.0
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
101 Series C 2.3
112 Series C 3.1
123 Series C 2.3
13;
14RUN;
3 Codeblock
PROC SQL
Erklärung :
Modifiziert den Datensatz 'my_data' durch Hinzufügen einer neuen Spalte 'bartotal', die die Summe der 'AMOUNT' für jede 'CATEGORY' mittels einer SQL-Abfrage darstellt.
Kopiert!
1PROC SQL;
2 create TABLE my_data as
3 select *, sum(amount) as bartotal
4 from my_data
5 group BY category;
6QUIT; RUN;
4 Codeblock
DATA STEP
Erklärung :
Modifiziert den Datensatz 'my_data' durch Berechnung von 'catpct', dem Prozentsatz von 'AMOUNT' im Verhältnis zu 'bartotal', und wendet ein Prozentformat auf diese neue Variable an.
Kopiert!
1DATA my_data; SET my_data;
2FORMAT catpct percent6.0;
3catpct=amount/bartotal;
4RUN;
5 Codeblock
ODS
Erklärung :
Schließt das standardmäßige ODS LISTING-Ziel. Öffnet das ODS HTML-Ziel, gibt den Ausgabepfad, den HTML-Dateinamen und den Stil an. Konfiguriert die ODS GRAPHICS-Optionen für das generierte PNG-Bild. Definiert die Haupttitel des Diagramms mit Stil- und Farboptionen.
Kopiert!
1ODS LISTING CLOSE;
2ODS HTML path=odsout body="&name..htm"
3 (title="SGplot 100% 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 "100% Stacked Bar";
10title2 color=gray33 ls=0.5 h=17pt "Compares the percent each value";
11title3 color=gray33 ls=0.5 h=17pt "to a total across categories";
6 Codeblock
PROC SGPLOT
Erklärung :
Generiert ein 100% gestapeltes Balkendiagramm unter Verwendung des Datensatzes 'my_data'. Die Balken repräsentieren 'CATEGORY', die Höhe basiert auf 'catpct', und die Stapel werden durch 'SERIES' definiert. Der Code passt Legenden, Datenfarben, Balkenattribute (Breite, Umriss) und das Aussehen der X- und Y-Achsen (Beschriftungen, Werte, Gitter) an.
Kopiert!
1PROC SGPLOT DATA=my_data noautolegend pad=(left=10% right=15%);
2label catpct='PERCENT';
3styleattrs datacolors=(cx9999ff cx993366 cxffffcc);
4vbar category / response=catpct stat=sum
5 group=series barwidth=.6
6 outlineattrs=(color=black) nostatlabel;
7yaxis
8 values=(0 to 1 BY .2)
9 labelattrs=(size=16pt weight=bold color=gray33)
10 valueattrs=(size=16pt weight=bold color=gray33)
11 offsetmax=0 grid minor minorcount=1;
12xaxis
13 labelattrs=(size=16pt weight=bold color=gray33)
14 valueattrs=(size=16pt weight=bold color=gray33)
15 display=(noticks);
16RUN;
7 Codeblock
ODS
Erklärung :
Beendet die aktiven Prozeduren. Schließt das ODS HTML-Ziel und speichert die HTML-Datei sowie die zugehörigen Bilder. Aktiviert anschließend das ODS LISTING-Ziel wieder.
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.