Sas条形图、圆饼图和星形图[1]重点讲义_第1页
Sas条形图、圆饼图和星形图[1]重点讲义_第2页
Sas条形图、圆饼图和星形图[1]重点讲义_第3页
Sas条形图、圆饼图和星形图[1]重点讲义_第4页
Sas条形图、圆饼图和星形图[1]重点讲义_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第二十一课 条形图、圆饼图和星形图与PLOT过程和GPLOT过程的关系一样,PROC CHART过程是用来画易生成的低分辨率的图形,输出在OUTPUT窗口。而PROC GCHART过程是用来生成订制的、高分辨率的图形,输出在GRAPH窗口。在这里我们将只介绍GCHART过程。使用GCHART图表可以形象地表示变量的取值大小和两个以上变量之间的关系。可以绘制垂直和水平的条形图、块形图、圆饼图、星形图等。一、 PROC GCHART过程的功能和语句说明GCHART过程不仅能把输入数据集中的变量值以各种图形的方式显示出来,而且能把输入数据集中的一个或多个变量按分组进行各种统计计算,然后再把统计结果以

2、图形的方式显示出来。也就是说,GCHART过程具有统计和显示图表的两大功能。1. PROC GCHART过程的一般格式GCHART过程一般由下列语句控制:Proc Gchart DATA=数据集 ;VBAR 变量列表 </<通用选项列表><VBAR专用选项列表>>HBAR 变量列表 </<通用选项列表><HBAR专用选项列表>>BLOCK 变量列表 </<通用选项列表><BLOCK专用选项列表>>PIE 变量列表 </<通用选项列表><PIE专用选项列表>&

3、gt;STAR 变量列表 </<通用选项列表><STAR专用选项列表>>By 变量列表 ;Run ;在PROC GCHART语句后面可以跟随着任何多个图形要求的语句,如上面的VBAR、BLOCK等语句。也就是一个GCHART过程能够对一个指定的数据集画出任意多个各种不同的图形。每一个图形要求语句需要指定一个图形变量或多个图形变量用于将它们的值画图。由于每个图形要求语句的选项众多,将它们的选项分成两部分:通用选项列表和专用选项列表。所谓通用选项列表是指这些选项可以用在每个图形要求语句中,而专用选项列表是指这些选项只有本语句可使用。在使用PROC GCHART过

4、程时,常常选用BY语句。BY语句指定一个变量或多个变量后,将按指定的变量进行分组处理,然后按每一个被BY语句指定的变量分组生成分开的图形。我们以VBAR图形要求语句为例来说明各个图形要求语句的基本使用情况。VBAB语句用来列出用户想要画的垂直条形图的那些变量。每个图形变量对应一张垂直条形图。每张图表占一页。垂直条形图的纵坐标轴用来表示频数、累计频数、百分数、累计百分数、总和或平均值。在每个条形图的横坐标轴上都标有该图形变量的各个对应值。如果图形变量是字符变量或离散的数值变量,那么在对应的横坐标上将标记真实值;如果图形变量是连续变量,那么在对应的横坐标上将标记变量值的区间中点。除此之外,在PRO

5、C GCHART过程中还可以使用AXISn、LEGENDn、PATTERNn、TITLEn、FOOTNOTEn、NOTE、DONUD语句。2. PROC GCHART过程的三要素由PROC GCHART过程产生图形要决定以下三个要素:(1) 选择图形的表示方法下面的几种图形至少要选一种:l VBAR语句绘制垂直条形图或垂直直方图。l HBAR语句绘制水平条形图或水平直方图。l BLOCK语句绘制块形图。l PIE语句绘制圆饼图。l STAR语句绘制星形图。通过对上面不同语句的选择,确定图形的表示方法。在每种图形中,由图表变量确定的值画出对应大小的条图或线段。(2) 选择变量的统计量在选定了图形

6、以后,可以在语句后面的选项中,通过TYPE选项来选择对变量的不同统计量,TYPE的缺省值是FREQ,然后将统计量以条形或线段表示。统计量的类型有:l TYPE=FREQ统计图形变量的各个给定值或间隔的频数。l TYPE=CFREQ统计图形变量各个给定值或落入给定区间的累计频数。l TYPE=PCT统计图形变量各个给定值或落入给定区间的观测数的百分比。l TYPE=CPCT统计图形变量各个给定值或落入给定区间观测数的累计百分比。l TYPE=SUM统计图形变量所有值的总和。l TYPE=MEAN统计图形变量所有值的平均值。例如:VBAR X / TYPE=MEAN 语句,是指对输入数据集中的X变

7、量求平均值,然后将平均值用垂直条形图显示。(3) 选择分组特性可以使用图形选择语句后面的一些选项,来控制在语句中指定的图形变量的分组,下面的选项可控制如何进行分组:l DISCRETE把一个数字变量当成离散变量,而不是连续变量。把每一个数字值作为图形的一个分开的条形或线段。如果省略该选项,过程则假定变量都是连续的。如果没有规定选项MIDPOINTS=或LEVELS=,过程自动选择图表的间隔。l GROUP=变量用于对指定变量进行并排分组。l SUBGROUP=变量列表将条形或线段按照指定变量的值分成段。l MIDPOINTS=数值列表规定连续型图形变量按数字列表中的中心点数字次序进行排列。缺省

8、值为,如果图形变量是数字型,过程将自动计算各个中心点值;如果图形变量是字符型,或是数字型但选择了DISCRETE选项(即离散型数字变量),过程为每个图形变量的不同值产生一个中心点值。l LEVELS=数字指定数字型图形变量的条形或线段个数。l SUMVAR=变量指定用于计算总和或均数的变量。3. 通用和专用选项列表通用选项列表中的选项是用于VBAR、HBAR、BLOCK、PIE和STAR语句的共同选项,主要是一些我们刚在上面已介绍的分组特性选项和变量统计量TYPE选项。专用选项列表中的选项是各个不同的图形语句自己的特有选项。主要的选项见下表:选项应用语句功能说明AXIS=<最小值>

9、最大值VBAR、HBAR定义坐标轴的最小值和最大值GSPACE=间隔数定义条形组间的间隔空间数大小ASC/DESCVBAR、HBAR、PIE每组内按升序/降序显示条形及有关统计量G100VBAR、HBAR、BLOCK强迫每个组的条图和统计量加到100%BLOCKMAXBLOCK定义图中最高块的统计量值ANGLE=角度数字PIE、STAR定义开始逆时针旋转的角度FILL=SOLID或X每一区域用纯色或交叉线填充CFILL=颜色定义图中所有文本的颜色NOLEGEND除了STAR不输出SUBGROUP变量的图例NOHEADINGBLOCK、PIE、STAR不输出在图表顶部的抬头行二、 条形图条形图是

10、利用相同宽度条形的长短或高低表现各相互对立的统计数据大小或变动的统计图。条形图可分成水平条形图(又称带形图)和垂直条形图(又称柱形图),分别用HBAR和VBAR语句实现。无论水平条形图还是垂直条形图,都有三种类型的图式:l 简单条形图是以若干平行且等宽的距行表现数量对比关系的一种图形,各条之间有间隙。简单条形图也称为单式条形图。图形语句的特点是无GROUP和SUBGROUP选项。l 分组条形图是指由每两条或以上条组成一组的条形图,组与组之间有大间隔,每组内条形之间无间隙或小间隙。分组条形图也称复式条形图。图形语句的特点是使用GROUP选项。l 分段条形图是以条形的全长代表某个变量的整体,条形内

11、部的各分段长短代表各组部分在整体中所占比例的统计图,每一段之间没有间隙并用不同线条或颜色表示,各条之间有间隙。由于每个条图由若干段组成,因此分段条形图又可称作分量条形图。图形语句的特点是使用SUBGROUP选项。下面我们通过举例来说明各种条形图的使用。1. 简单条形图例如,我们想统计计算上证指数从1月到12月每月的平均涨跌情况。设定从INDEXSH数据集中选择1991年1月1日到1999年12月31日的观测数据作为统计计算对象。由于INDEXSH数据集包含的是周线数据,而不是日线数据,因此,这些统计计算结果会有误差。为了能进行相应地统计计算和绘制出对应的条形图,必须对INDEXSH数据集先进行

12、一些处理。由于SAS的日期值在计算机内部存储的是数字值,我们用MONTH()函数从日期值DATE中取出月份数字存放到MONTH变量中,转换形成一个新的数据集INDEXSH2,新增的这个MONTH变量取值为112月。然后调用PROC GCHART图表过程确定MONTH为图形变量,周涨跌CHANGE_为统计变量,统计类型为求平均值,这样将对所有相同月份的CHANGE%值求平均,并用条形长短表示。程序如下:Goptions reset=global gunit=pct cback=white borderhtitle=6 htext=3 ftext=swissb colors=(back) ;Lib

13、name study "d:sasdatamydir" ;Data study.indexsh2 ;set study.indexsh ;where '31dec1990'd<date<'01jan2000'd ;month=month(date) ;Proc format ;Value m_day 1='Jan' 2='Feb' 3='Mar' 4='Apr' 5='May' 6='Jun'7='Jul' 8='

14、;Aug' 9='Sep' 10='Oct' 11='Nov' 12='Dec' ;Proc gchart data=study.indexsh2 ;vbar month /discretesumvar=change_type=mean ;format month m_day. ;title 'Shanghai StockIndex' ;title2 'Increase by an average of percent a month' ;title3 '1991.01.01-199

15、9.12.31' ;Run ;程序说明:DATA数据步由INDEXSH数据集转换形成INDEXSH2数据集,新增MONTH变量的值等于同一观测中的DATE变量中的月份值,数据集INDEXSH2去掉了原数据集中不完整月份的观测,即去掉一些头尾观测。PROC FORMAT格式化过程自定义了格式M_DAY,能将112个数字输出为对应的月份英文缩写。PROC GCHART过程确定对新数据集INDEXSH2绘制垂直条形图,图形变量为MONTH,由于MONTH是数字变量,故要选用DISCRETE选项,确定它为数字型离散变量。SUMVAR=CHANGE_选项确定数据集中的CHANGE_变量为计算统计

16、量,TYPE=MEAN选项确定统计类型为求平均值,即对相同MONTH值的CHANGE_变量值求平均。程序的运行结果显示在GRAPH窗口中,如图21.1所示。图21.1 上证指数月涨跌百分比简单条形图从条形图显示的统计结果中,我们可清楚地看出,上半年的机会远远大于下半年,总体投资策略应该下半年休息,年末建仓,上半年持股待涨到五、六月清仓。其中五月份是全年上涨最大的月份,七月份下跌风险较大,八月份反弹机会较大。2. 分组条形图例如,我们有一个学生成绩数据集CLASS,记录每个学生三门课程的成绩。现在想要按每个学生分组,用条形的高低表示各自三门课程的成绩。通常对数据集中数据进行绘图前,先要检查数据集

17、的数据库结构是否符合图形过程的要求,否则,就不能绘制出符合人们要求的图形,需要将数据集进行适当地转换。事实上,数据集CLASS的数据库结构不满足数据库设计的1NF(第一范式),也同样不满足PROC GCHART过程对制作此图的要求。我们用DATA数据步生成一个新的数据集GCLASS,用以消除重复项TEST1、TEST2、TEST3,统一用变量TEST取代,而用COURSE变量存放不同的课程名称。为了便于理解和比较,新数据集中我们没有去掉TEST1、TEST2、TEST3变量。用PROC GCHART过程对新数据集GCLASS绘制分组条形时,指定的图形变量是COURSE,将显示COURSE变量中

18、各个不同值的条形;分组变量指定为NAME,将显示NAME变量中各个不同值的分组;统计变量指定为TEST,统计类型缺省为求和,将对同一分组值中同一图形变量值的各TEST值求和,本例数据中,每次求和TEST变量的记录都只有一条记录。程序如下:Goptions reset=global gunit=pct cback=white borderhtitle=6 htext=3 ftext=swissb colors=(back) ;Libname study "d:sasdatamydir"Data study.Gclass ;Set study.class;COURSE='

19、;DBS' ; TEST=TEST1 ; OUTPUT ;COURSE='MIS' ; TEST=TEST2 ; OUTPUT ;COURSE='DSS' ; TEST=TEST3 ; OUTPUT ;Proc print data=study.Gclass;Title 'Study.Gclass data set'Proc gchart data=study.Gclass;Vbar COURSE / group=NAMEsumvar=TEST axis=60 to 100 by 10autoref ;Title 'Vbar co

20、urse /Group=name'Run ;程序说明:DATA数据步创建GCLASS数据集,将原来CLASS数据集的一条记录变成三条记录,用COURSE变量存放三门课程的名称DBS、MIS、DSS,用TEST变量存放成绩。新数据集GCLASS,用PROC PRINT打印过程输出,如图21.2所示。PROC GCHART过程中图形语句的AXIS选项,由于语句是VBAR垂直条形图,所以它是指纵轴上的刻度。AUTOREF选项,是指自动画参考线,通过每一个主刻度线画出相应一条垂直于刻度坐标轴的参考线。程序的运行结果显示在GRAPH窗口中,如图21.3所示。图21.2 符合分组条形图的GCLAS

21、S数据集图21.3 用PROC GCHART过程绘制的分组条形图3. 分段条形图例如,如果我们想要比较每个学生的考试总分和平均分,还要比较构成总分的各科成绩的大小,最恰当的方法就是使用分段条形图来表示。程序如下:Goptions reset=global gunit=pct cback=white borderhtitle=6 htext=3 ftext=swissb colors=(back) ;Libname study "d:sasdatamydir"Proc gchart data=study.Gclass;Hbar NAME /Subgroup=COURSEsum

22、var=TESTsummeanascendingref=180 270 ;Title 'Hbar NAME /Subgroup=COURSE' ;Run ;程序的运行结果显示在GRAPH窗口中,如图21.4所示。图21.4 用PROC GCHART过程绘制的分段条形图程序说明:PROC GCHART过程指定输入数据集为GCLASS,HBAR图形语句指定画水平条形图。图形变量指定为NAME,分段变量指定为COURSE,统计变量指定为TEST。SUM和MEAN选项指定对相同NAME值的TEST统计变量求和和求平均值。ASCENDING选项要求图形变量NAME值按升序排列。REF=1

23、80 270选项将在横坐标轴180和270处画出两条垂直参考线。要特别注意SUM、MEAN选项与TYPE=SUM或MEAN选项的区别,前者指对如WANGWU学生三门课程DBS、MIS、DSS的统计量求和、求平均,后者指对如WANGWU学生几次DBS考试成绩求和、求平均。三、 块形图块形图与分组条形图和分段条形图有点类似,最主要的区别仅在于块形图以三维立体方式显示条形。例如,我们将上面绘制分段条形图的过程进行一些修改,主要用BLOCK语句代替HBAR语句,图形变量、组变量和统计变量不变,分段选项SUBGROUP=改为分组选项GROUP=。程序如下:Goptions reset=global gu

24、nit=pct cback=white borderhtitle=6 htext=3 ftext=swissb colors=(back) ;Libname study "d:sasdatamydir"Proc gchart data=study.Gclass;Block NAME / group=COURSEsumvar=TEST ;Run ;程序的运行结果显示在GRAPH窗口中,如图21.5所示。图21.5 用PROC GCHART过程绘制的块形图四、 圆饼图圆饼图是以圆的整体面积代表被研究现象的总体,按各构成部分占总体比重的大小把原面积分割成若干扇形,用以表示现象的部

25、分对总体的比例关系的统计图。现象的总体在SAS系统中被指定为某一研究变量,即PROC GCHART过程中,用PIE语句指定的图形变量,所要统计的变量由选项SUMVAR=变量来指定。例如,我们要统计每个学生的平均分并对他们的成绩进行比较,查看哪个学生的考试成绩最好,哪个学生的考试成绩最差,所占比例是多少。最简单的方法是绘制圆饼图。程序如下:Goptions reset=global gunit=pct cback=white borderhtitle=6 htext=3 ftext=swissb colors=(back) ;Libname study "d:sasdatamydir&

26、quot;Proc gchart data=study.Gclass;Pie name /sumvar=testtype=meanslice=arrowpercent=insidevalue=arrowexplode='Wangwu' 'zhaoliu'angle=90ctext=blackcfill=black;Title 'Statistic Records of Students 'Run ;程序说明:想要绘制理想的圆饼图,需要设置许多重要的选项。PROC GCHART过程的PIE语句,首先要指定图形变量为NAME,统计变量为TEST,统计

27、类型为求平均值MEAN。其他的一些选项主要用于修饰图形,常用的有:l SLICE=ARROW每一块扇形对应的NAME值标签方式,=ARROW表示用一条线指向扇形,=INSIDE表示标签在扇形内部,=NONE表示没有标签,=OUTSIDE表示标签在扇形外部。l PERCENT=INSIDE每一块扇形相应百分比数的标签方式,同样有四种值,=ARROW,=INSIDE,=NONE,=OUTSIDE。l VALUE=ARROW每一块扇形统计值的标签方式,也同样有四种值,=ARROW,=INSIDE,=NONE,=OUTSIDE。l EXPLODE=Wangwu zhaoliu 把在列表中列出的NAME

28、变量值所对应的扇形分离出去,可以从视觉上起到强调这一块扇形的目的。请注意列表中字符串要与变量NAME中值的大小写完全匹配。l ANGLE=90指定第一块扇形的起始的角度,缺省值为0。l CTEXT=BLACK设置图中所有文字为黑色,还可以是其他颜色。l CFILL=BLACK设置图中所有文本为黑色,还可以是其他颜色。l COUTLINE=BLACK设置扇形的轮廓线为黑色,还可以是其他颜色。l FILL=SOLID或X设置各个扇形用颜色区别或用交叉线区别。如果无此选项,则扇形内为空白。程序的运行结果显示在GRAPH窗口中,如图21.6所示。图21.6 用PROC GCHART过程绘制的圆饼图五、

29、 星形图星形图是把观测总体用一个360度角表示,每一构成部分等分360度角,且每一构成部分的统计量大小用一条与角中心点相连的线段长短表示,然后将各线段的顶点依次连接起来。星形图适用于周期性数据,如一年的月份或者一天的小时,也适用于成分组成数据,如描述某食品的维生素组成和大小。例如,我们要统计上证指数九年中1月份成交量平均值、2月份成交量平均值12月份的成交量平均值,并用星形图表示。程序如下:Goptions reset=global gunit=pct cback=white borderhtitle=6 htext=3 ftext=swissb colors=(back) ;Libname Study "d:sasdatamydir" ;Proc format ;value m_day 1='Jan

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论