Publicado el :
Gráfico CREACIÓN_INTERNA

Generación de definiciones de símbolos gráficos

Este código también está disponible en: Deutsch English Français
El script utiliza un Data Step para leer una lista de estilos de marcador (forma, fuente, color) a través de datalines ('cards'). Utiliza `CALL SYMPUT` para crear una serie de variables macro globales que contienen las instrucciones `symbolN value=...`. Posteriormente, se define una macro `%symbols` para ejecutar estas definiciones de símbolos en bucle, lo que permite aplicar el estilo apropiado según el número de grupos a visualizar.
Análisis de datos

Type : CREACIÓN_INTERNA


Las definiciones de los símbolos (formas y colores) están codificadas en el script a través de la instrucción CARDS.

1 Bloque de código
DATA STEP
Explicación :
Lee las propiedades de los símbolos, construye la cadena de comando SAS/GRAPH correspondiente y la almacena en una variable macro.
¡Copiado!
1DATA _null_;
2 INFILE CARDS eof=END;
3 LENGTH sym $200;
4 INPUT value $char8. +1 font $char8. +1 color $char8.;
5 x=_n_;
6 y=_n_;
7 z=_n_;
8 OUTPUT;
9 x+1;
10 OUTPUT;
11 
12 IF value='"' then value="'"||'"'||"'";
13 
14 sym="symbol"||trim(left(put(_n_,2.)))||" value="||value;
15 IF font ^= "" THEN sym=trim(sym)||' font='||font;
16 IF color^= "" THEN sym=trim(sym)||' color='||color;
17 ELSE sym=trim(sym)||' color=black';
18 
19 call symput ('symbol'||left(put(_n_,2.)), trim(sym));
20 return;
21 
22END:
23 call symput ('Nsymbol', left(put(_n_-1,8.)));
24 delete;
25 
26 CARDS;
27dot black filled-circle
28U marker blue filled-square
29/* ... suite des données ... */
30 ;
31RUN;
2 Bloque de código
MACRO
Explicación :
Define la macro que aplica las definiciones de símbolos generadas previamente.
¡Copiado!
1%macro symbols (groups);
2 %IF (&groups > &Nsymbol) %THEN %let groups=&Nsymbol;
3 goptions reset=symbol;
4 %DO i=1 %to &groups;
5 &&symbol&i;
6 %END;
7%mend;
Este material se proporciona "tal cual" por We Are Cas. No hay garantías, expresas o implícitas, en cuanto a la comerciabilidad o idoneidad para un propósito particular con respecto a los materiales o el código contenidos en este documento. We Are Cas no es responsable de los errores en este material tal como existe ahora o existirá, ni We Are Cas proporciona soporte técnico para el mismo.
Información de copyright : Richard A. DeVenezia, 93/06/30