Le script procède en plusieurs étapes. Premièrement, il initialise les options graphiques globales. Deuxièmement, un DATA STEP est utilisé pour créer le jeu de données 'Temp', qui contient des coordonnées (X, Y) et une variable 'P' représentant différentes positions. Troisièmement, un autre DATA STEP génère le jeu de données d'annotation 'myAnno' à partir de 'Temp', en définissant les fonctions ANNOTATE nécessaires (LABEL) et en utilisant la variable 'P' pour spécifier la position du texte d'annotation. Enfin, PROC GPLOT est exécuté pour afficher un nuage de points basé sur 'Temp', avec les étiquettes positionnées selon les spécifications de 'myAnno', illustrant ainsi visuellement l'impact de l'option POSITION.
Analyse des données
Type : CREATION_INTERNE
Les deux jeux de données ('Temp' et 'myAnno') utilisés dans ce script sont entièrement créés et générés en interne. 'Temp' est peuplé via des boucles et des calculs SAS, et 'myAnno' est dérivé de 'Temp' à des fins d'annotation.
1 Bloc de code
Paramètres système et options graphiques
Explication : Ce bloc configure le chemin pour les fichiers graphiques via une instruction FILENAME (à noter que le chemin Windows 'c:\...' pourrait nécessiter une adaptation pour un environnement Linux/Viya). Il initialise ensuite les options graphiques globales en réinitialisant les paramètres, en activant une bordure, en spécifiant les unités de graphique en pourcentage, la hauteur de texte et la police.
Explication : Ce DATA STEP crée le jeu de données 'Temp'. Il utilise des boucles imbriquées pour générer des observations avec les variables X (de 1 à 3) et Y (de 1 à 5). La variable 'P' est calculée, formatée en caractère et des conditions 'IF' la transforment en lettres (A à F) pour certaines valeurs numériques. Chaque itération produit une observation distincte.
Copié !
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 Bloc de code
DATA STEP
Explication : Ce DATA STEP construit le jeu de données d'annotation 'myAnno' en se basant sur le jeu de données 'Temp'. Il attribue des valeurs spécifiques aux variables requises par SAS/GRAPH ANNOTATE : FUNCTION (pour les étiquettes), XSYS et YSYS (pour les systèmes de coordonnées), X et Y (coordonnées des points), POSITION (pour l'alignement du texte) et TEXT (le contenu de l'étiquette, dérivé de la variable 'P').
Copié !
DATA myAnno; SET Temp;
FUNCTION='LABEL'; XSYS='2'; YSYS='2'; X=X; Y=Y;
POSITION=TRIM(LEFT(P)); TEXT='POS = '||TRIM(LEFT(P));
RUN;
Explication : Ce bloc configure les éléments visuels du graphique : le type, la taille et la couleur des symboles (SYMBOL1), ainsi que l'absence de libellé et le décalage pour les axes (AXIS1, AXIS2). Un titre est défini pour le graphique. Enfin, PROC GPLOT est exécutée pour créer un nuage de points de Y en fonction de X, en utilisant le jeu de données 'Temp'. L'option ANNOTATE=myAnno est utilisée pour superposer les annotations définies précédemment, et les axes personnalisés sont appliqués.
Copié !
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";
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.
SAS et tous les autres noms de produits ou de services de SAS Institute Inc. sont des marques déposées ou des marques de commerce de SAS Institute Inc. aux États-Unis et dans d'autres pays. ® indique un enregistrement aux États-Unis. WeAreCAS est un site communautaire indépendant et n'est pas affilié à SAS Institute Inc.
Ce site utilise des cookies techniques et analytiques pour améliorer votre expérience.
En savoir plus.