统计图是统计描述的重要工具,它可以直观的反映出事物间的数量关系。因此,许多统计软件均提供了强大的统计做图功能。SAS的许多程序步,如Univariate过程等,也附有相应的绘图功能,这些我们拟在相关章节中讲述。本章将向大家介绍两个专门用于绘图的程序步――GCHART过程和GPLOT过程。前者用于绘制各种常用的统计图,而后者则用于绘制散点图。
在早期的DOS版本中,SAS只提供低分辨率图形(即用键盘字符模拟输出的图形)。而在WINDOWS时代,美观漂亮也成为了软件最重要的性能指标之一,因此SAS公司推出了高分辨率图形。虽然比起EXCEL等软件来,它的高分辨率图形仍然不那么令人满意,但至少已经跟上了时代的潮流。
高分辨率图形在专门的GRAPH视窗中输出,而低分辨率图形在OUTPUT视窗中一同输出。只要将绘图过程名中的字母G去掉,做出的就是低分辨率图形,你可以比较一下两种图形的“天壤之别”。
§
4.1 GCHART过程
Gchart过程可以绘制水平/竖直条图(直方图)、立体直方图、饼图和星状图。我们可以用这些图来了解单个变量的分布或者多个变量之间的关系。
4.1.1
语法格式
|
PROC GCHART
[ DATA=<数据集名> [选项] ] ; |
指定要分析的数据集名及一些选项
|
|
HBAR
<变量名列> / [选项] ; |
绘出条形图
|
|
VBAR
<变量名列> / [选项]; |
绘出水平条形图
|
|
BLOC
K <变量名列> / [选项]; |
绘出三维直方图
|
|
PIE
<变量名列> / [选项]; |
绘出饼图
|
|
STAR
<变量名列> / [选项]; |
绘出星状图
|
|
AXISn [选项];
|
控制坐标轴的形状和颜色
|
|
BY <变量名列>;
|
按该变量取值分层绘制,要求数据集已按该变量排序
|
方括号中的为可选项,如果不写,系统会以默认值代替或者忽略该功能;而尖括号中的为必选项,表示如果写了该语句,则必须提供尖括号中的信息,否则可能出错。如[ DATA= <数据集名> ],表示你可以不写这一项,此时系统默认处理的是最新建立的数据集;而如果写了DATA=这一项,你就必须指定一个数据集名,不然SAS跟你没完。
4.1.2
语法说明
事实上,绘图程序步中的选项极为繁杂,如果合理地使用这些选项可以做出非常漂亮的统计图来。但这些选项也给大家的学习带来很大的不便,因此在这里我们只简要介绍几个常用的绘图语句中的选项。
【绘图语句选项】
MISSING
TYPE=
FREQ
PERCENT
CFREQ
CPERCENT
SUM
MEAN
SUMVAR=
LEVAL=n
GROUP=
SUBGROUP=
CAXIS=
CTEXT=
指定绘图时要将变量的缺失值也包括在内。 做图类型关键字 指定要做图的类型,即图中条块代表的含义:缺省值是频数(FREQ);如果指定了选择项SUMVAR,则缺省值为总和(SUM)。可选的关键字有: 要求按指定变量的频数做图。 要求按在横轴刻度表示范围内出现的频数占总数的百分比做图。 按累计频数做图。 按累计百分比做图。 只能与SUMVAR选项同时使用,要求图中的每一条代表:变量在横轴表示的取值范围内时,SUMVAR指定变量的总和。 只能与SUMVAR选项同时使用,要求图中的每一条代表:变量在横轴表示的取值范围内时,SUMVAR指定变量的均数。 求和变量 指定使用TYPE=SUM或MEAN时,用于求总和、均值的变量。 如果绘图变量是连续变量,用该选项产生有N个组段的图形。 分组变量 要求产生以分组变量的值分组的并排图。 亚组变量 要求每个图形内部再按亚组变量的值分块。 颜色 指定坐标轴的颜色。 颜色 指定坐标轴文本的颜色。
4.1.3
应用实例
例
解:程序如下:
4.1 绘制《卫生统计学》第三版习题1.1的直方图,数据存在c:\user\wt1_1.dat中。
| libname a 'c:\user'; |
指定c:\user文件夹为数据库a
|
| data a.wt1_1; |
数据步开始,指定要建立的数据集为a库的wt1_1
|
| infile 'c:\user\wt1_1.dat'; |
采用外部文件读入方式,文件名为c:\user\WT1_1.dat
|
| input x @@; |
输入的变量为x,采用连续输入的格式
|
| proc gchart data=a.wt1_1; |
调用绘图程序步gchart
|
| vbar x / levels=10; |
绘出直方图,用于绘图的变量为x,分为10组
|
| run; |
开始运行以上程序
|
事实上ASSIST视窗的输出图形是彩色的,和我们用程序做出的有些区别,这是因为ASSIST视窗自动提交了一些绘图环境语句,对输出图形作了修饰的缘故。
实际上libname语句只需要运行一次就可以了,但在开始的几道例题里我们都写上了这一句,让大家逐步养成启动SAS后就运行这一句的习惯。请将C:\USER文件夹指定为A库,以后我们实习的数据集均放在该库中。
§
4.2 GPLOT过程
GPLOT
过程用于绘出散点图。图中的横、纵坐标分别代表两个变量。
4.2.1
语法格式
|
PROC GPLOT
[ DATA=<数据集名> [选项] ] ; |
|
|
PLOT
<纵坐标变量*横坐标变量[=分层变量名]...> / [选项]; |
指定绘图变量和选项
|
|
PLOT2 <纵坐标变量*横坐标变量[=分层变量名]...> / [选项];
|
在原图基础上重叠绘制第二幅散点图
|
|
SYMBOLn [选项]
|
定义符号、添加趋势线、定义点和线的颜色
|
|
BY <变量名列>;
|
按该变量取值分层绘制,要求数据集已按该变量排序
|
实际上,SYMBOL语句中定义的选项为系统环境控制选项,这意味着一次定义,终生使用。除非重新定义,否则以后的输出图形都将会是第一个图形的“孪生兄弟”。
4.2.2
语法说明
【
GPLOT过程的选项】
【
在这里SYMBOL后面紧跟了一个n,表示任意自然数。因为PLOT语句可以在同一坐标系内重叠绘制许多层图,而这个数字就表示SYMBOL语句是控制的哪一层图。
上一篇:SAS程序初步 下一篇:多个率比较的SAS编程实现