SAS – Gráficos circulares

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

En SAS, un gráfico circular se crea utilizando PATRÓN DE PROCESO que toma parámetros para controlar 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 este es el valor para el que estamos creando el gráfico circular.

Gráfico circular simple

En este gráfico circular, tomamos una variable de un conjunto de datos. Se crea un gráfico circular con valores de sector que representan la proporción de la cantidad de una variable en relación con el valor total de la variable.

Ejemplo

En el siguiente ejemplo, cada segmento representa una fracción de un 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 circular1

Gráfico circular con etiquetas de datos

En este gráfico circular, representamos valores fraccionarios y porcentuales para cada sector. También cambiamos la posición de la etiqueta para que quepa dentro del gráfico. El estilo de visualización del gráfico se cambia mediante el parámetro DATASKIN. Utiliza uno de los estilos integrados disponibles 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:

piechart2

Gráfico circular agrupado

En este gráfico circular, el valor de la variable trazada se agrupa en relación con otra variable en el mismo conjunto de datos. Cada grupo se convierte en un círculo y el diagrama muestra tantos círculos concéntricos como grupos haya disponibles.

Ejemplo

En el siguiente ejemplo, estamos agrupando el gráfico por una variable llamada «Hacer». Dado que hay dos valores disponibles («Audi» y «BMW»), terminamos con dos círculos concéntricos, cada uno de los cuales representa una sección transversal de una marca de automóvil diferente.

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:

piechart3

🚫