Publicado el :
Informes CREACION_INTERNA

Gráfico de barras agrupadas con SGPLOT

Este código también está disponible en: Deutsch English Français
En espera de validación
El script inicializa una variable macro `name` a 'col1'. Luego define un `fileref` `odsout` para apuntar al directorio actual. Se utiliza un `DATA STEP` para crear un conjunto de datos `my_data` con categorías, series y montos. La salida se configura para generar un archivo HTML (`col1.htm`) y una imagen PNG a través de ODS HTML y ODS Graphics. La `PROC SGPLOT` se llama luego para crear un gráfico de barras verticales agrupadas, visualizando la suma de los montos por categoría, agrupados por serie, con títulos y atributos de eje personalizados.
Análisis de datos

Type : CREACION_INTERNA


Los datos se integran directamente en el script SAS a través de un bloque `datalines` en un `DATA STEP` llamado `my_data`. No se utiliza ninguna fuente de datos externa o biblioteca SASHELP para la entrada principal del gráfico.

1 Bloque de código
DATA STEP Data
Explicación :
Este bloque `DATA STEP` crea el conjunto de datos `my_data` que se utilizará para el gráfico. Lee cuatro observaciones con las variables `CATEGORY`, `SERIES` (carácter, longitud 3-11) y `AMOUNT` (numérica) a partir de las `datalines`.
¡Copiado!
1DATA my_data;
2 INPUT CATEGORY SERIES $ 3-11 AMOUNT;
3 DATALINES;
41 Series A 5
52 Series A 7.8
61 Series B 9.5
72 Series B 5.9
8 ;
9RUN;
2 Bloque de código
PROC SGPLOT
Explicación :
Este bloque inicializa la variable macro `name`, luego configura la salida ODS para generar un archivo HTML (`col1.htm`) y gráficos PNG en el directorio actual. La `PROC SGPLOT` se invoca luego para crear un gráfico de barras verticales agrupadas a partir del conjunto de datos `my_data`. Las barras representan la suma de `AMOUNT` para cada `CATEGORY`, agrupadas por `SERIES`. Se aplican opciones de estilo, color y eje para mejorar la visualización. El gráfico se exporta como una imagen PNG y se integra en el archivo HTML.
¡Copiado!
1%let name=col1;
2 
3filename odsout '.';
4 
5ODS LISTING CLOSE;
6ODS HTML path=odsout body="&name..htm"
7 (title="SGplot Grouped Bar")
8 style=htmlblue;
9 
10ods graphics / imagefmt=png imagename="&name"
11 width=800px height=600px noborder imagemap;
12 
13title1 color=gray33 ls=0.5 h=23pt "Grouped Bar";
14title2 color=gray33 ls=0.5 h=17pt "Compares values across categories";
15 
16PROC SGPLOT DATA=my_data noautolegend;
17 styleattrs datacolors=(cx9999ff cx993366);
18 vbar category / response=amount stat=sum
19 group=series groupdisplay=cluster
20 outlineattrs=(color=black) nostatlabel;
21 yaxis
22 values=(0 to 10 BY 2)
23 labelattrs=(size=16pt weight=bold color=gray33)
24 valueattrs=(size=16pt weight=bold color=gray33)
25 offsetmax=0 grid minor minorcount=1;
26 xaxis
27 labelattrs=(size=16pt weight=bold color=gray33)
28 valueattrs=(size=16pt weight=bold color=gray33)
29 labelpos=right;
30RUN;
31 
32QUIT;
33ODS HTML CLOSE;
34ODS 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.