基本的语法来创建一个饼图的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环境中提供的内置样式之一。
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;
当我们执行上面的代码,我们得到以下输出:
在该饼图中,图中呈现的变量的值相对于相同数据集的另一变量分组。 每个组变为一个圆,并且该图具有与可用组的数量一样多的同心圆。
在下面的示例中,我们将图表相对于名为“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;
当我们执行上面的代码,我们得到以下的输出: