SAS – 饼图

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;

当我们执行上面的代码时,我们得到以下输出 –

饼图1

带有数据标签的饼图

在此饼图中,我们表示每个切片的分数值和百分比值。我们还将标签的位置更改为图表内。图表的外观样式通过使用 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;

当我们执行上面的代码时,我们得到以下输出 –

饼图2

分组饼图

在此饼图中,图中显示的变量值相对于同一数据集的另一个变量进行分组。每个组变成一个圆圈,图表中的同心圆与可用组的数量一样多。

例子

在下面的示例中,我们根据名为“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;

当我们执行上面的代码时,我们得到以下输出 –

饼图3

觉得文章有用?

点个广告表达一下你的爱意吧 !😁