Sas-pie-charts
提供:Dev Guides
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;
- *変数*は、円グラフを作成する値です。
シンプルな円グラフ
この円グラフでは、データセットから単一の変数を取得します。 円グラフは、変数の合計値に対する変数のカウントの割合を表すスライスの値で作成されます。
例
以下の例では、各スライスは車の総数から車のタイプの割合を表しています。
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;
上記のコードを実行すると、次の出力が得られます-
データラベル付きの円グラフ
この円グラフでは、各スライスの小数値とパーセント値の両方を表します。 また、ラベルの位置を変更してチャート内に配置します。 チャートの外観のスタイルは、DATASKINオプションを使用して変更されます。 SAS環境で利用可能な組み込みスタイルの1つを使用します。
例
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;
上記のコードを実行すると、次の出力が得られます-
グループ化された円グラフ
この円グラフでは、グラフに表示される変数の値は、同じデータセットの別の変数に関してグループ化されています。 各グループは1つの円になり、グラフには使用可能なグループの数と同数の同心円があります。
例
以下の例では、「Make」という名前の変数に関してチャートをグループ化します。 2つの値(「アウディ」と「BMW」)があるため、それぞれが独自のメーカーの車種のスライスを表す2つの同心円を取得します。
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;
上記のコードを実行すると、次の出力が得られます-