SAS - Graphiques à secteurs

Un camembert est une représentation des valeurs sous forme de tranches d'un cercle de différentes couleurs. Les tranches sont étiquetées et les nombres correspondant à chaque tranche sont également représentés dans le graphique.

Dans SAS, le graphique à secteurs est créé en utilisant PROC TEMPLATE qui prend des paramètres pour contrôler le pourcentage, les étiquettes, la couleur, le titre, etc.

Syntaxe

La syntaxe de base pour créer un camembert dans SAS est -

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;

Voici la description des paramètres utilisés -

  • variable est la valeur pour laquelle nous créons le graphique à secteurs.

Graphique à secteurs simple

Dans ce graphique à secteurs, nous prenons une seule variable de l'ensemble de données. Le graphique à secteurs est créé avec la valeur des tranches représentant la fraction du nombre de la variable par rapport à la valeur totale de la variable.

Exemple

Dans l'exemple ci-dessous, chaque tranche représente la fraction du type de voiture par rapport au nombre total de voitures.

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;

Lorsque nous exécutons le code ci-dessus, nous obtenons la sortie suivante -

Graphique à secteurs avec étiquettes de données

Dans ce graphique à secteurs, nous représentons à la fois la valeur fractionnaire et la valeur en pourcentage de chaque tranche. Nous modifions également l'emplacement de l'étiquette pour qu'elle soit à l'intérieur du graphique. Le style d'apparence du graphique est modifié à l'aide de l'option DATASKIN. Il utilise l'un des styles intégrés, disponibles dans l'environnement SAS.

Exemple

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;

Lorsque nous exécutons le code ci-dessus, nous obtenons la sortie suivante -

Graphique à secteurs groupé

Dans ce diagramme à secteurs, la valeur de la variable présentée dans le graphique est regroupée par rapport à une autre variable du même ensemble de données. Chaque groupe devient un cercle et le diagramme a autant de cercles concentriques que le nombre de groupes disponibles.

Exemple

Dans l'exemple ci-dessous, nous regroupons le graphique par rapport à la variable nommée "Make". Comme il y a deux valeurs disponibles ("Audi" et "BMW"), nous obtenons deux cercles concentriques représentant chacun des tranches de types de voitures de sa propre marque.

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;

Lorsque nous exécutons le code ci-dessus, nous obtenons la sortie suivante -