Publicado el :
Informes CREATION_INTERNE

Gráficos con ejes rotos

Este código también está disponible en: Deutsch English Français
En espera de validación
El script inicializa las opciones ODS para la salida gráfica. Crea dos conjuntos de datos internos: 'TallBar' a través de datalines para demostrar un gráfico de barras con un valor extremo, y 'outOfRange' a través de un DATA STEP generativo para un gráfico de dispersión con valores distribuidos y un valor atípico. Luego, utiliza PROC SGPLOT para crear un gráfico de barras simple, un gráfico de barras con un eje Y roto de forma 'Full', un gráfico de dispersión con un eje Y roto de tipo 'Bracket', y un gráfico de dispersión con un eje Y roto de tipo 'Spark' mientras configura las extensiones del eje.
Análisis de datos

Type : CREATION_INTERNE


Todos los datos utilizados ('TallBar' y 'outOfRange') se crean directamente en el script SAS a través de DATA STEPS y datalines o la generación de datos aleatorios, sin dependencia de fuentes externas o de la biblioteca SASHELP.

1 Bloque de código
Macro Variables/ODS
Explicación :
Define las variables macro `gpath` para la ruta de salida de las imágenes y `dpi` para la resolución en puntos por pulgada. Cierra el destino ODS HTML predeterminado y abre el destino ODS LISTING con un estilo 'listing', configurando la ruta de salida de las imágenes y su resolución.
¡Copiado!
1%let gpath='.';
2%let dpi=200;
3ods html close;
4ods listing style=listing gpath=&gpath image_dpi=&dpi;
2 Bloque de código
DATA STEP Data
Explicación :
Crea el conjunto de datos SAS llamado `TallBar`. Contiene dos variables: `X` (carácter) e `Y` (numérica). Los datos se proporcionan directamente en el script a través de la instrucción `datalines`, incluyendo un valor significativamente mayor (400 para 'E') que se utilizará para ilustrar la necesidad de un eje roto.
¡Copiado!
1DATA TallBar;
2 INPUT X $ Y;
3 DATALINES;
4A 10
5B 15
6C 12
7D 17
8E 400
9;
10RUN;
3 Bloque de código
PROC SGPLOT
Explicación :
Genera un gráfico de barras vertical simple. `ods graphics` reinicia los parámetros gráficos, define el ancho, la altura y el nombre de la imagen de salida. `proc sgplot` se utiliza con el conjunto de datos `TallBar` y la instrucción `vbar x` crea las barras, `response=y` especifica la variable de respuesta, `nostatlabel` suprime las etiquetas de estadísticas y `fillattrs` aplica atributos de relleno.
¡Copiado!
1ods graphics / reset width=5in height=3in imagename='Bar';
2PROC SGPLOT DATA=tallbar;
3 vbar x / response=y nostatlabel fillattrs=graphdata1;
4 RUN;
4 Bloque de código
PROC SGPLOT
Explicación :
Crea un gráfico de barras con un eje Y 'roto' para manejar el valor extremo de 'E'. La opción `yaxis ranges` divide el eje Y en dos segmentos (de `min` a 44 y de 384 a `max`), creando visualmente una ruptura. `baselineattrs=(thickness=0)` hace que la línea base sea invisible y `values` define las graduaciones del eje.
¡Copiado!
1ods graphics / reset width=5in height=3in imagename='BarBrokenAxisFull';
2PROC SGPLOT DATA=tallbar;
3 vbar x / response=y nostatlabel fillattrs=graphdata2 baselineattrs=(thickness=0);
4 yaxis ranges=(min-44 384-max) values=(0 to 400 BY 10);
5 RUN;
5 Bloque de código
DATA STEP Data
Explicación :
Crea el conjunto de datos SAS llamado `outOfRange` para un gráfico de dispersión. Genera 100 observaciones con valores aleatorios para `x` e `y` utilizando la función `ranuni`. Se añade manualmente una observación adicional `(x=0.5, y=9.1)` para crear un valor que se destaque, útil para demostrar los ejes rotos en los gráficos de dispersión.
¡Copiado!
1DATA outOfRange;
2 keep x y;
3 DO i=1 to 100;
4 x=ranuni(2); y=ranuni(2) + 0.3*x; OUTPUT;
5 END;
6 x=0.5; y=9.1; OUTPUT;
7RUN;
6 Bloque de código
PROC SGPLOT
Explicación :
Genera un gráfico de dispersión con un eje Y roto de estilo 'bracket'. `ods listing style=analysis` cambia el estilo de salida. `styleattrs axisbreak=bracket` activa el estilo 'bracket' para la ruptura del eje. La instrucción `reg` añade una línea de regresión lineal con los límites de confianza (clm). `yaxis ranges` y `values` configuran la visualización del eje Y.
¡Copiado!
1ods listing style=analysis;
2ods graphics / reset width=5in height=3in imagename='ScatterBrokenAxisBracket';
3PROC SGPLOT DATA=outOfRange;
4 styleattrs axisbreak=bracket;
5 reg x=x y=y / clm markerattrs=(size=5);
6 yaxis ranges=(min-1.5 8.9-max) values=(0 to 10 BY 0.2) valueshint;
7 RUN;
7 Bloque de código
PROC SGPLOT
Explicación :
Crea un gráfico de dispersión con un eje Y roto de estilo 'spark'. `ods listing style=journal` cambia el estilo de salida. `styleattrs axisbreak=spark axisextent=data` activa el estilo 'spark' para la ruptura del eje y se asegura de que las extensiones del eje se basen en los datos. `nowall` y `noborder` eliminan respectivamente el fondo y el borde del gráfico. El eje Y se configura de manera similar al gráfico anterior para mostrar la ruptura.
¡Copiado!
1ods listing style=journal;
2ods graphics / reset width=5in height=3in imagename='ScatterBrokenAxisSpark';
3PROC SGPLOT DATA=outOfRange nowall noborder;
4 styleattrs axisbreak=spark axisextent=DATA ;
5 reg x=x y=y / clm markerattrs=(size=5);
6 yaxis ranges=(min-1.5 8.9-max) values=(0 to 10 BY 0.2) valueshint;
7 RUN;
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.