开发手册 欢迎您!
软件开发者资料库

SAS - 饼图

SAS Pie Charts - 从基本概念到高级概念,简单易学地学习SAS,其中包括概述,环境,用户界面,程序结构,基本语法,数据集,变量,字符串,数组,数字函数,运算符,循环,决策制作,功能,输入法,宏,日期和时间,SQL,输出传递系统,模拟,直方图,图表,散点图,箱线图,算术平均值,标准偏差,频率分布,交叉制表,T检验,方差,线性回归,Bland -Altman分析,卡方,Fishers精确测试,单向Anova,重复测量分析,假设检验。

饼图是将值表示为具有不同颜色的圆的切片.切片被标记,每个切片对应的数字也在图表中显示.

在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 asSELECT make, model, type, invoice, horsepower, length, weight FROM SASHELP.CARSWHERE 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"的变量的图表.由于有两个值可供选择("奥迪"和"宝马"),所以我们得到两个同心圆,每个圆圈代表自己制作的汽车类型.

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