SAS: gráficos circulares

Un gráfico circular es una representación de valores como porciones de un círculo con diferentes colores. Los cortes están etiquetados y los números correspondientes a cada corte también se representan en el gráfico.

En SAS, el gráfico circular se crea utilizando PROC TEMPLATE que toma parámetros para controlar el porcentaje, etiquetas, color, título, etc.

Sintaxis

La sintaxis básica para crear un gráfico circular en SAS es:

PROC TEMPLATE;
   DEFINE STATGRAPH pie;
      BEGINGRAPH;
         LAYOUT REGION;
            PIECHART CATEGORY = variable /
            DATALABELLOCATION = OUTSIDE
            CATEGORYDIRECTION = CLOCKWISE
            START = 180 NAME = 'pie';
            DISCRETELEGEND 'pie' /
            TITLE = ' ';
         ENDLAYOUT;
      ENDGRAPH;
   END;
RUN;

A continuación se muestra la descripción de los parámetros utilizados:

  • variable es el valor para el que creamos el gráfico circular.

Gráfico circular simple

En este gráfico circular, tomamos una sola variable del conjunto de datos. El gráfico circular se crea con el valor de las porciones que representan la fracción del recuento de la variable con respecto al valor total de la variable.

Ejemplo

En el siguiente ejemplo, cada segmento representa la fracción del tipo de automóvil del número total de automóviles.

PROC SQL;
create table CARS1 as
SELECT make, model, type, invoice, horsepower, length, weight
 FROM 
SASHELP.CARS
WHERE make in ('Audi','BMW')
;
RUN;

PROC TEMPLATE;
   DEFINE STATGRAPH pie;
      BEGINGRAPH;
         LAYOUT REGION;
            PIECHART CATEGORY = type /
            DATALABELLOCATION = OUTSIDE
            CATEGORYDIRECTION = CLOCKWISE
            START = 180 NAME = 'pie';
            DISCRETELEGEND 'pie' /
            TITLE = 'Car Types';
         ENDLAYOUT;
      ENDGRAPH;
   END;
RUN;
PROC SGRENDER DATA = cars1
            TEMPLATE = pie;
RUN;

Cuando ejecutamos el código anterior, obtenemos el siguiente resultado:

Gráfico circular con etiquetas de datos

En este gráfico circular, representamos tanto el valor fraccionario como el valor porcentual de cada segmento. También cambiamos la ubicación de la etiqueta para que esté dentro del gráfico. El estilo de apariencia del gráfico se modifica mediante la opción DATASKIN. Utiliza uno de los estilos incorporados, disponible en el entorno SAS.

Ejemplo

PROC TEMPLATE;
   DEFINE STATGRAPH pie;
      BEGINGRAPH;
         LAYOUT REGION;
            PIECHART CATEGORY = type /
            DATALABELLOCATION = INSIDE
            DATALABELCONTENT = ALL
            CATEGORYDIRECTION = CLOCKWISE
            DATASKIN = SHEEN 
            START = 180 NAME = 'pie';
            DISCRETELEGEND 'pie' /
            TITLE = 'Car Types';
         ENDLAYOUT;
      ENDGRAPH;
   END;
RUN;
PROC SGRENDER DATA = cars1
            TEMPLATE = pie;
RUN;

Cuando ejecutamos el código anterior, obtenemos el siguiente resultado:

Gráfico circular agrupado

En este gráfico circular, el valor de la variable presentada en el gráfico se agrupa con respecto a otra variable del mismo conjunto de datos. Cada grupo se convierte en un círculo y el gráfico tiene tantos círculos concéntricos como el número de grupos disponibles.

Ejemplo

En el siguiente ejemplo, agrupamos el gráfico con respecto a la variable denominada "Hacer". Como hay dos valores disponibles ("Audi" y "BMW"), obtenemos dos círculos concéntricos, cada uno de los cuales representa segmentos de tipos de automóviles de su propia marca.

PROC TEMPLATE;
   DEFINE STATGRAPH pie;
      BEGINGRAPH;
         LAYOUT REGION;
            PIECHART CATEGORY = type / Group = make
            DATALABELLOCATION = INSIDE
            DATALABELCONTENT = ALL
            CATEGORYDIRECTION = CLOCKWISE
            DATASKIN = SHEEN 
            START = 180 NAME = 'pie';
            DISCRETELEGEND 'pie' /
            TITLE = 'Car Types';
         ENDLAYOUT;
      ENDGRAPH;
   END;
RUN;
PROC SGRENDER DATA = cars1
            TEMPLATE = pie;
RUN;

Cuando ejecutamos el código anterior, obtenemos el siguiente resultado: