Publicado el :
Gráfico CREATION_INTERNE

Gráfico de área apilada al 100%

Este código también está disponible en: Deutsch English Français
En espera de validación
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!
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!
1filename 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`.
¡Copiado!
1DATA my_data;
2INPUT x y1 y2;
3x_total=y1+y2;
4DATALINES;
50 2.0 1.0
61 1.0 1.2
73 2.0 1.7
84 1.0 2.0
95 0.5 2.5
10;
11RUN;
4 Bloque de código
DATA STEP Data
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!
1DATA my_data; SET my_data;
2base1_pct=0; y1_pct=y1/x_total;
3base2_pct=y1_pct; y2_pct=y1_pct+(y2/x_total);
4RUN;
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!
1ODS LISTING CLOSE;
2ODS 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.
¡Copiado!
1ods graphics / imagefmt=png imagename="&name"
2width=800px height=600px noborder;
3 
7 Bloque de código
TITLE
Explicación :
Define el título principal del gráfico, especificando el color, el interlineado y la altura de la fuente.
¡Copiado!
1title1 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!
1PROC SGPLOT DATA=my_data noautolegend;
2styleattrs datacolors=(cx993366 cx9999ff);
3band x=x lower=base1_pct upper=y1_pct;
4band x=x lower=base2_pct upper=y2_pct;
5yaxis
6 values=(0 to 1 BY .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;
10xaxis
11 values=(0 to 5 BY 1) 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;
15RUN;
16 
17QUIT;
9 Bloque de código
ODS
Explicación :
Cierra el destino ODS HTML previamente abierto y reactiva el destino ODS LISTING predeterminado.
¡Copiado!
1ODS HTML CLOSE;
2ODS 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.