El poder del apilamiento, gráficamente hablando

El poder del apilamiento, gráficamente hablando


Se pueden crear cosas asombrosas cuando comienzas con piezas pequeñas y las apilas juntas. Solo pregúntale a Bryan Berg. Es el actual poseedor del récord mundial del castillo de naipes más alto.

El castillo de naipes más alto

El mismo principio se puede aplicar a los procedimientos SGPLOT y SGPANEL. Puede tomar cada tipo de gráfico y apilarlos para crear algunos gráficos muy interesantes y efectivos.

Considere el siguiente gráfico. El gráfico SERIE muestra las relaciones P/E del S&P 500 desde 1981 hasta 2009. Cuando la relación supera los 20, el área debajo de la línea se resalta en rojo para indicar que las acciones pueden estar sobrevaluadas y podrían conducir a una corrección del mercado. La pregunta es «¿Cómo se pueden resaltar las áreas entre el gráfico de SERIE y la línea de referencia en PE=20?»

El secreto es apilar las tramas de tal manera que parte de la trama de abajo quede oculta. La mejor manera de visualizar esta técnica es ver el gráfico de arriba, renderizado una pieza en este punto. El primer paso es representar los datos P/E como un gráfico de área. La forma de hacer esto en SGPLOT es usar un diagrama de BANDA donde LOWER se establece en un 0 constante y UPPER en la columna que contiene los datos que se van a graficar.

Title "The Danger of High Price-Earnings Ratios";
Footnote j=left "Source: Robert J. Shiller";
proc sgplot data=pe_data;
    yaxis offsetmin=0;
    band X=Year upper=pe10 lower=0 / legendlabel="Warning"
         FillAttrs=GraphConfidence(Color=CXFF0000) name="Warning";
    keylegend "Warning";
run;

Sin embargo, solo queremos ver esta gráfica de área donde el P/E es mayor que 20. Para ocultar la parte inferior del diagrama, usaré otro diagrama de BANDA. Esta vez pondré LOWER en un valor constante de 0 y UPPER en un valor constante de 20. También configuré FILATTRS para que apunte al elemento de estilo GraphWalls. De esta forma, el color de la cinta coincide con el color de la pared, independientemente del estilo ODS utilizado.

proc sgplot data=pe_data;
    yaxis offsetmin=0;
    band X=Year upper=pe10 lower=0 / legendlabel="Warning"
         FillAttrs=GraphConfidence(Color=CXFF0000) name="Warning";
    band X=Year Upper=20 Lower=0 / fillattrs=GraphWalls;
    keylegend "Warning";
run;

Quiero algunas líneas de cuadrícula en este gráfico, pero no puedo usar la opción GRID en la declaración del eje, ya que eso colocaría las líneas de cuadrícula detrás de los dos gráficos BAND. La solución es poner REFLINEs en las bandas, pero hacer que se vean como líneas de cuadrícula con la opción LINEATTRS. También agregué una línea de referencia normal en PE=20.

proc sgplot data=pe_data;
    yaxis offsetmin=0;
    Band X=Year Upper=pe10 Lower=0 / legendlabel="Warning"
         FillAttrs=GraphConfidence(Color=CXFF0000) name="Warning";
    Band X=Year Upper=20 Lower=0 /
         Fillattrs=GraphWalls;
    RefLine 10 30 40/ Lineattrs=GRAPHGRIDLINES;
    RefLine 20 / LABEL="PE=20";
    keylegend "Warning";
run;

Finalmente, renderizo los datos de P/E nuevamente sobre los otros gráficos usando un gráfico de SERIE para completar la ilusión de que solo el gráfico de SERIE que excede PE=20 está resaltado en rojo. También se han agregado algunas etiquetas de datos para resaltar algunos eventos importantes del mercado de valores.

proc sgplot data=dan.pe_data;
    yaxis offsetmin=0;
    Band X=Year Upper=pe10 Lower=0 / legendlabel="Warning"
         FillAttrs=GraphConfidence(Color=CXFF0000) name="Warning";
    Band X=Year Upper=20 Lower=0 /
         Fillattrs=GraphWalls;
    RefLine 10 30 40/ Lineattrs=GRAPHGRIDLINES;
    RefLine 20 / LABEL="PE=20";
    Series X=Year Y=pe10 / Lineattrs=GRAPHDATA1
        DataLabel=label NAME="SERIES" legendlabel="P/E Ratios";
    keylegend "Warning" "SERIES";
run;

Un reto

Con suerte, esta técnica de apilamiento le dará algunas ideas interesantes para aplicar a sus propios gráficos. Pero adivina qué, ¡no es la única manera de crear este anuncio! ¿Se te ocurre alguna otra alternativa? Te mostraré un enfoque alternativo en el próximo tema de mi blog. Mientras tanto, publique sus ideas o comentarios a continuación.

Related post

Resumen del laboratorio de aplicaciones: misterio y destrucción

Resumen del laboratorio de aplicaciones: misterio y destrucción

Cada semana echamos un vistazo a algunos de los próximos videojuegos, demostraciones y experiencias únicas que llegarán a los visores Meta…
Una nueva depuradora llevará el agua del inodoro al grifo

Una nueva depuradora llevará el agua del inodoro al…

A la mayoría de las personas no les gusta la idea de tirar de la cadena y dejar que salga la…
Detalles del informe Retrasos en el desarrollo perturbado Auriculares de Apple

Detalles del informe Retrasos en el desarrollo perturbado Auriculares…

Un informe detallado de The Information revela las decisiones detrás del aparente retraso de un año de los próximos auriculares AR/VR…

Leave a Reply

Tu dirección de correo electrónico no será publicada.