Das Skript geht in mehreren Schritten vor. Zuerst initialisiert es die globalen Grafikoptionen. Zweitens wird ein DATA STEP verwendet, um das Dataset 'Temp' zu erstellen, das Koordinaten (X, Y) und eine Variable 'P' enthält, die verschiedene Positionen darstellt. Drittens generiert ein weiterer DATA STEP das Annotations-Dataset 'myAnno' aus 'Temp', indem die notwendigen ANNOTATE-Funktionen (LABEL) definiert und die Variable 'P' verwendet wird, um die Position des Annotationstextes anzugeben. Schließlich wird PROC GPLOT ausgeführt, um ein Streudiagramm basierend auf 'Temp' anzuzeigen, wobei die Beschriftungen gemäß den Spezifikationen von 'myAnno' positioniert sind, wodurch die Auswirkung der Option POSITION visuell veranschaulicht wird.
Datenanalyse
Type : CREATION_INTERNE
Die beiden in diesem Skript verwendeten Datasets ('Temp' und 'myAnno') werden vollständig intern erstellt und generiert. 'Temp' wird über SAS-Schleifen und Berechnungen gefüllt, und 'myAnno' wird zu Annotationszwecken aus 'Temp' abgeleitet.
1 Codeblock
Systemparameter und Grafikoptionen
Erklärung : Dieser Block konfiguriert den Pfad für Grafikdateien über eine FILENAME-Anweisung (zu beachten ist, dass der Windows-Pfad 'c:\...' möglicherweise an eine Linux/Viya-Umgebung angepasst werden muss). Anschließend initialisiert er die globalen Grafikoptionen, indem er die Parameter zurücksetzt, einen Rahmen aktiviert und die Grafikeinheiten in Prozent, die Texthöhe und die Schriftart festlegt.
Erklärung : Dieser DATA STEP erstellt das Dataset 'Temp'. Er verwendet verschachtelte Schleifen, um Beobachtungen mit den Variablen X (von 1 bis 3) und Y (von 1 bis 5) zu generieren. Die Variable 'P' wird berechnet, als Zeichen formatiert, und 'IF'-Bedingungen wandeln sie für bestimmte numerische Werte in Buchstaben (A bis F) um. Jede Iteration erzeugt eine separate Beobachtung.
Kopiert!
DATA Temp;
DO X= 1 TO 3;
DO Y = 1 TO 5;
P = PUT(X+((6-Y)-1)*3, $2.);
IF P="10" THEN P="A";
IF P="11" THEN P="B";
IF P="12" THEN P="C";
IF P="13" THEN P="D";
IF P="14" THEN P="E";
IF P="15" THEN P="F";
OUTPUT;
END;
END;
RUN;
1
DATA Temp;
2
DO X= 1 TO 3;
3
DO Y = 1 TO 5;
4
P = PUT(X+((6-Y)-1)*3, $2.);
5
IF P="10"THEN P="A";
6
IF P="11"THEN P="B";
7
IF P="12"THEN P="C";
8
IF P="13"THEN P="D";
9
IF P="14"THEN P="E";
10
IF P="15"THEN P="F";
11
OUTPUT;
12
END;
13
END;
14
RUN;
3 Codeblock
DATA STEP
Erklärung : Dieser DATA STEP erstellt das Annotations-Dataset 'myAnno' basierend auf dem Dataset 'Temp'. Er weist den von SAS/GRAPH ANNOTATE benötigten Variablen spezifische Werte zu: FUNCTION (für Beschriftungen), XSYS und YSYS (für Koordinatensysteme), X und Y (Punktkoordinaten), POSITION (für Textausrichtung) und TEXT (der Inhalt der Beschriftung, abgeleitet von der Variablen 'P').
Kopiert!
DATA myAnno; SET Temp;
FUNCTION='LABEL'; XSYS='2'; YSYS='2'; X=X; Y=Y;
POSITION=TRIM(LEFT(P)); TEXT='POS = '||TRIM(LEFT(P));
RUN;
Erklärung : Dieser Block konfiguriert die visuellen Elemente des Diagramms: Typ, Größe und Farbe der Symbole (SYMBOL1), sowie das Fehlen von Beschriftungen und den Versatz für die Achsen (AXIS1, AXIS2). Ein Titel wird für das Diagramm definiert. Schließlich wird PROC GPLOT ausgeführt, um ein Streudiagramm von Y gegen X zu erstellen, wobei das Dataset 'Temp' verwendet wird. Die Option ANNOTATE=myAnno wird verwendet, um die zuvor definierten Annotationen zu überlagern, und die benutzerdefinierten Achsen werden angewendet.
Kopiert!
SYMBOL1 VALUE=dot HEIGHT=3 COLOR=green;
AXIS1 LABEL=NONE OFFSET=(10, 10);
AXIS2 LABEL=NONE OFFSET=(20, 20);
TITLE "Effect of the POSITION Variable in an ANNOTATE Data Set";
PROC GPLOT DATA=Temp;
PLOT Y*X / NAME="F6_54_" ANNOTATE=myAnno HAXIS=AXIS2 VAXIS=AXIS1;
RUN; QUIT;
1
SYMBOL1 VALUE=dot HEIGHT=3 COLOR=green;
2
AXIS1 LABEL=NONE OFFSET=(10, 10);
3
AXIS2 LABEL=NONE OFFSET=(20, 20);
4
TITLE "Effect of the POSITION Variable in an ANNOTATE Data Set";
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.
SAS und alle anderen Produkt- oder Dienstleistungsnamen von SAS Institute Inc. sind eingetragene Marken oder Marken von SAS Institute Inc. in den USA und anderen Ländern. ® zeigt die Registrierung in den USA an. WeAreCAS ist eine unabhängige Community-Site und nicht mit SAS Institute Inc. verbunden.
Diese Website verwendet technische und analytische Cookies, um Ihre Erfahrung zu verbessern.
Mehr erfahren.