Publicado el :
Informes CREATION_INTERNE

Generación de gráfico de barras apiladas SGPLOT

Este código también está disponible en: Deutsch English Français
En espera de validación
El script comienza definiendo una variable macro 'name' para nombrar los archivos de salida. Luego crea un conjunto de datos 'my_data' utilizando 'datalines' internos. Las instrucciones ODS (Output Delivery System) se configuran para generar una salida HTML que contiene el gráfico. PROC SGPLOT se utiliza para crear un gráfico de barras apiladas, visualizando la variable 'AMOUNT' agrupada por 'SERIES' en el eje de categorías. Se aplican títulos personalizados y atributos de estilo para mejorar la presentación. Finalmente, se cierran los destinos ODS.
Análisis de datos

Type : CREATION_INTERNE


El conjunto de datos 'my_data' se crea directamente en el script SAS utilizando el método 'datalines', lo que significa que los datos están integrados en el código y no provienen de una fuente externa o de bibliotecas SAS estándar como SASHELP.

1 Bloque de código
Configuración inicial
Explicación :
Este bloque inicializa una variable macro `name` utilizada para nombrar el archivo de salida HTML y la imagen. La declaración `filename odsout '.'` redirige la salida ODS al directorio de trabajo actual.
¡Copiado!
1%let name=col3;
2 
3filename odsout '.';
2 Bloque de código
DATA STEP Data
Explicación :
Este DATA STEP crea un conjunto de datos llamado 'my_data' en memoria. Lee los datos proporcionados en el bloque 'datalines', definiendo tres variables: 'CATEGORY' (numérica), 'SERIES' (carácter, de la posición 3 a 11) y 'AMOUNT' (numérica).
¡Copiado!
1DATA my_data;
2INPUT CATEGORY SERIES $ 3-11 AMOUNT;
3DATALINES;
41 Series A 5
52 Series A 6.8
63 Series A 9.2
71 Series B 6.5
82 Series B 6.9
93 Series B 5.6
10;
11RUN;
3 Bloque de código
Configuración ODS y Títulos
Explicación :
Este bloque configura el sistema de salida ODS. Primero cierra el destino LISTING predeterminado, luego abre un destino HTML, nombrando el archivo 'col3.htm' y aplicándole un estilo 'htmlblue'. Las opciones `ods graphics` definen el formato de la imagen (PNG), el nombre del archivo de imagen ('col3'), así como sus dimensiones y atributos. Se utilizan instrucciones `title` para agregar títulos personalizados al gráfico con estilos específicos.
¡Copiado!
1ODS LISTING CLOSE;
2ODS HTML path=odsout body="&name..htm"
3 (title="SGplot Stacked Bar")
4 style=htmlblue;
5 
6ods graphics / imagefmt=png imagename="&name"
7 width=800px height=600px noborder imagemap;
8 
9title1 color=gray33 ls=0.5 h=23pt "Stacked Bar";
10title2 color=gray33 ls=0.5 h=17pt "Compares the contribution of each value";
11title3 color=gray33 ls=0.5 h=17pt "to a total across categories";
4 Bloque de código
PROC SGPLOT
Explicación :
Este procedimiento `SGPLOT` genera un gráfico de barras apiladas a partir del conjunto de datos 'my_data'. Desactiva la leyenda automática y agrega un relleno. Los colores de las barras se definen mediante `styleattrs`. La instrucción `vbar` crea las barras verticales, apilando la variable 'AMOUNT' ('response') por 'SERIES' ('group') y calculando la suma ('stat=sum'). Los ejes Y y X se personalizan con etiquetas, valores y estilos específicos, incluyendo una cuadrícula para el eje Y.
¡Copiado!
1PROC SGPLOT DATA=my_data noautolegend pad=(left=10% right=15%);
2styleattrs datacolors=(cx9999ff cx993366);
3vbar category / response=amount stat=sum
4 group=series barwidth=.6
5 outlineattrs=(color=black) nostatlabel;
6yaxis
7 values=(0 to 16 BY 4)
8 labelattrs=(size=16pt weight=bold color=gray33)
9 valueattrs=(size=16pt weight=bold color=gray33)
10 offsetmax=0 grid minor minorcount=3;
11xaxis
12 labelattrs=(size=16pt weight=bold color=gray33)
13 valueattrs=(size=16pt weight=bold color=gray33)
14 display=(noticks);
15RUN;
5 Bloque de código
Cierre ODS
Explicación :
Este bloque final cierra el procedimiento actual (`quit`), luego cierra explícitamente el destino ODS HTML y reactiva el destino LISTING, restableciendo así el entorno ODS predeterminado.
¡Copiado!
1QUIT;
2ODS HTML CLOSE;
3ODS 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.