SAS - 餅圖



餅圖是用不同顏色表示圓形不同切片來表示值的圖形。這些切片都帶有標籤,並且每個切片對應的數值也顯示在圖表中。

在 SAS 中,餅圖是使用PROC TEMPLATE建立的,它接收用於控制百分比、標籤、顏色、標題等的引數。

語法

在 SAS 中建立餅圖的基本語法如下:

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;

以下是使用引數的描述:

  • variable 是我們建立餅圖的值。

簡單餅圖

在這個餅圖中,我們從資料集中獲取單個變數。餅圖是根據切片值建立的,表示變數計數相對於變數總值的比例。

示例

在下面的示例中,每個切片代表汽車型別在汽車總數中的比例。

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;

當我們執行上述程式碼時,我們將獲得以下輸出:

piechart1

帶資料標籤的餅圖

在這個餅圖中,我們表示每個切片的比例值和百分比值。我們還將標籤的位置更改為圖表內部。透過使用 DATASKIN 選項修改圖表的顯示樣式。它使用 SAS 環境中提供的內建樣式之一。

示例

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;

當我們執行上述程式碼時,我們將獲得以下輸出:

piechart2

分組餅圖

在這個餅圖中,圖中顯示的變數值根據同一資料集的另一個變數進行分組。每個組都成為一個圓,圖表中包含的同心圓的數量與可用組的數量相同。

示例

在下面的示例中,我們根據名為“Make”的變數對圖表進行分組。由於有兩個可用值(“Audi”和“BMW”),因此我們得到兩個同心圓,每個圓在其自己的製造商中代表汽車型別的切片。

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;

當我們執行上述程式碼時,我們將獲得以下輸出:

piechart3
廣告