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;
上記のコードを実行すると、次の出力が得られます。
データラベル付きの円グラフ
この円グラフでは、各スライスの小数値とパーセンテージ値の両方を表しています。また、ラベルの場所をチャート内に変更します。チャートの外観のスタイルは、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つの値(「Audi」と「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;
上記のコードを実行すると、次の出力が得られます。