El script comienza definiendo datos numéricos 'x', 'y1' e 'y2' a través de datalines. Luego calcula la suma 'x_total' y los porcentajes 'y1_pct' e 'y2_pct' para cada fila, que servirán como límites inferiores y superiores para las bandas del gráfico. La salida se dirige a un archivo HTML y se genera una imagen PNG. Se utiliza PROC SGPLOT con dos declaraciones BAND para crear el gráfico de área apilada, donde los ejes X e Y se configuran para mostrar valores y etiquetas específicos, asegurando una visualización clara de las proporciones.
Análisis de datos
Type : CREATION_INTERNE
Los datos 'my_data' se crean directamente en el script utilizando la cláusula DATALINES. No provienen de una fuente externa o de una biblioteca SAS estándar como SASHELP.
1 Bloque de código
MACRO VAR
Explicación : Define una variable macro `name` utilizada para nombrar el archivo de salida HTML y la imagen.
¡Copiado!
%let name=area3;
1
%let name=area3;
2 Bloque de código
FILEREF
Explicación : Asigna la referencia de archivo `odsout` al directorio de trabajo actual, donde se guardarán los archivos ODS.
¡Copiado!
filename odsout '.';
1
filename odsout '.';
3 Bloque de código
DATA STEP Data
Explicación : Crea el conjunto de datos `my_data` con las variables `x`, `y1`, `y2`. Una nueva variable `x_total` se calcula como la suma de `y1` e `y2`. Los datos se proporcionan directamente en el script a través de `datalines`.
Explicación : Modifica el conjunto de datos `my_data` existente calculando variables de porcentaje necesarias para el gráfico de área apilada. `y1_pct` e `y2_pct` representan las proporciones relativas de `y1` e `y2`, y `base1_pct` y `base2_pct` definen los puntos de partida para las bandas del gráfico.
¡Copiado!
data my_data; set my_data;
base1_pct=0; y1_pct=y1/x_total;
base2_pct=y1_pct; y2_pct=y1_pct+(y2/x_total);
run;
1
DATA my_data; SET my_data;
2
base1_pct=0; y1_pct=y1/x_total;
3
base2_pct=y1_pct; y2_pct=y1_pct+(y2/x_total);
4
RUN;
5 Bloque de código
ODS
Explicación : Cierra el destino ODS LISTING predeterminado y abre un destino ODS HTML. El archivo HTML de salida se nombra dinámicamente utilizando la variable macro `&name` e incluye un título especificado y un estilo `htmlblue`.
¡Copiado!
ODS LISTING CLOSE;
ODS HTML path=odsout body="&name..htm"
(title="SGplot 100% Stacked Area Plot")
style=htmlblue;
1
ODS LISTING CLOSE;
2
ODS HTML path=odsout body="&name..htm"
3
(title="SGplot 100% Stacked Area Plot")
4
style=htmlblue;
6 Bloque de código
ODS GRAPHICS
Explicación : Configura las opciones para la salida gráfica ODS. Especifica el formato PNG para la imagen, nombra el archivo de imagen y define el ancho, el alto y la ausencia de borde.
Explicación : Define el título principal del gráfico, especificando el color, el interlineado y la altura de la fuente.
¡Copiado!
title1 color=gray33 ls=0.0 h=23pt "100% Stacked Area Plot";
1
title1 color=gray33 ls=0.0 h=23pt "100% Stacked Area Plot";
2
8 Bloque de código
PROC SGPLOT
Explicación : Genera el gráfico de área apilada utilizando PROC SGPLOT. Utiliza `my_data` y desactiva la leyenda automática. Se utilizan dos declaraciones `BAND` para crear las áreas apiladas, basándose en las variables de porcentaje calculadas. Los ejes Y y X se personalizan con rangos de valores, etiquetas, atributos de fuente y cuadrículas.
¡Copiado!
proc sgplot data=my_data noautolegend;
styleattrs datacolors=(cx993366 cx9999ff);
band x=x lower=base1_pct upper=y1_pct;
band x=x lower=base2_pct upper=y2_pct;
yaxis
values=(0 to 1 by .2) label='Y Axis'
labelattrs=(size=16pt weight=bold color=gray33)
valueattrs=(size=16pt weight=bold color=gray33)
offsetmin=0 offsetmax=0 grid;
xaxis
values=(0 to 5 by 1) label='X Axis'
labelattrs=(size=16pt weight=bold color=gray33)
valueattrs=(size=16pt weight=bold color=gray33)
offsetmin=0 offsetmax=0 grid;
run;
quit;
1
PROC SGPLOTDATA=my_data noautolegend;
2
styleattrs datacolors=(cx993366 cx9999ff);
3
band x=x lower=base1_pct upper=y1_pct;
4
band x=x lower=base2_pct upper=y2_pct;
5
yaxis
6
values=(0 to 1BY .2) label='Y Axis'
7
labelattrs=(size=16pt weight=bold color=gray33)
8
valueattrs=(size=16pt weight=bold color=gray33)
9
offsetmin=0 offsetmax=0 grid;
10
xaxis
11
values=(0 to 5BY1) label='X Axis'
12
labelattrs=(size=16pt weight=bold color=gray33)
13
valueattrs=(size=16pt weight=bold color=gray33)
14
offsetmin=0 offsetmax=0 grid;
15
RUN;
16
17
QUIT;
9 Bloque de código
ODS
Explicación : Cierra el destino ODS HTML previamente abierto y reactiva el destino ODS LISTING predeterminado.
¡Copiado!
ODS HTML CLOSE;
ODS LISTING;
1
ODS HTML CLOSE;
2
ODS LISTING;
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.
SAS y todos los demás nombres de productos o servicios de SAS Institute Inc. son marcas registradas o marcas comerciales de SAS Institute Inc. en los EE. UU. y otros países. ® indica registro en los EE. UU. WeAreCAS es un sitio comunitario independiente y no está afiliado a SAS Institute Inc.
Este sitio utiliza cookies técnicas y analíticas para mejorar su experiencia.
Saber más.