SAS作图详细教程§1SAS程序的过程步SAS的过程步可看作是已经编写好的子程序,用户可以在需要的时候调用它们。过程步的一般形式:PROC过程名DATA=数据集名选项;过程的专用语句描述;VAR变量序列;WHERE条件表达式;BY变量序列;RUN;说明:过程步都是以PROC语句开始,后面紧跟过程名,用以区分不同的过程步。尖括号中的内容是可选项,省略时对应的系统默认值如下:处理最近建立的数据集;处理所有变量(对于一个计算过程步处理所有数值变量);处理数据集中的所有观测。§2制作散点图和连线图散点图——以数据集中某两个变量为纵坐标变量和横坐标变量,每条观测对应于图中的一个点,数据集中的多条观测就在平面上构成一幅散点图。连线图——是将散点图中的各点之间以一定的方式用直线或曲线相连所形成的图形。散点图和连线图的作用:1)揭示一个变量随另一个变量的变化2)显示变量间的关系3)对不同的数据进行比较4)显示数据值的分析实现:调用过程步GPLOT或PLOT。前者是在GRAPH窗口中以精确方式绘图,后者是在OUTPUT窗口中以非精确方式绘图。1.图形选项设置一般形式:GOPTIONS图形选项;功能:根据需要来进行图形选项的设置,设置有关图形输出的各项参数。说明:此操作一般在绘图之前进行。此语句属于环境设置语句。恢复系统的缺省设置图形选项:RESET=ALL|GOPTIONS|GLOBAL|……说明:GOPTIONS:将所有全局语句(如TITLE等)的设置恢复为缺省状态。GOPTIONS:将所有关于图形的设置恢复为缺省状态。ALL:同时实现上述两种功能。例1:假设数据集dst.airqual中保存的是在一段时间内美国47个州的逐月的空气质量监测数据。其中包含下列变量:变量名类型说明STATE字符型州名,用2个字母的缩写表示REGION数值型州所在地区,用1~7的数字表示MONTH数值型月份,用1~12的数字表示AVE_TSP数值型悬浮颗粒物含量的平均值AVE_LEAD数值型铅含量的平均值取纽约州的数据制作平均悬浮颗粒物含量随月份变化的散点图:libnamedst'd:\sasbook\dst';goptionsreset=all;procgplotdata=dst.airqual;plotave_tsp*month;wherestate='NY';run;注意:绘制高分辨率的统计图非常耗费系统资源,因此当我们提交作图语句时,SAS系统只是把它们送入程序缓冲区。只有当用户打开GRAPH窗口时,程序才真正执行,绘出统计图。然后此过程步处于驻留状态,系统可以继续执行所提交的语句,从而实现了用户和系统之间的交互操作。结束驻留状态的方法有:(1)提交另一个程序步;(2)提交QUIT语句。3.散点图和连线图的修饰点的符号、大小、颜色;点间连线、连线方式、线型、宽度;坐标轴:包括刻度、标签、颜色等;图例的配置与修饰。3.1SYMBOL语句一般形式:SYMBOLn选项;功能:用于控制图中点和连线的显示方式。说明:n是SYMBOL语句序号,取值范围:1~99。系统缺省值为1。取消SYMBOL语句的设置不加选项的SYMBOL语句SYMBOLn;通过恢复系统缺省设置的图形选项语句取消前面对所有SYMBOL语句的设置。GOPTIONSRESET=SYMBOL;性质全局性:可以出现在过程步内或过程步之外,一旦定义则一直保持到重新定义或退出SAS系统;可加性:一个选项的定义不影响其他选项。1)设置点VALUE|V=符号:设置图中点的表示符号符号名称符号表示PLUS+(缺省方式)XXSTAR*SQUARE□DIAMOND◇TRIANGLE△HASH#PAW::POINT.DOT●CIRCLE○NONE无符号COLOR|C=颜色:设置图中点和连线的颜色。CV=颜色:设置图中点的颜色。BLACK黑色(缺省方式)RED红色GREEN绿色BLUE蓝色YELLOW黄色CYAN青色MAGENTA洋红PINK粉红ORANGE橙色BROWN棕色GREY灰色HEIGHT|H=n单位:设置图中点的大小。POINTLABEL:在图中每个点的旁边标注纵坐标变量的值。例2:对于例1我们作如下修饰:goptionsreset=all;symbolv=diamondcv=redh=1.5pointlabel;procgplotdata=dst.airqual;plotave_tsp*month;wherestate='NY';run;CELL单元,SAS默认单位CM厘米PCT屏幕画面大小的百分数PT象素IN英寸2)设置连线选项:INTEPOL|I=连线方式:设置相邻点之间的连线方式。名称连线方式NONE不连线(缺省方式)JOIN直线SPLINE光滑的样条曲线NEEDLE通过点的并且垂直于横坐标轴的直线SMnn绘制不经过散点的样条曲线。nn曲线光滑性与拟合度的折衷,取值:00~99。RLCLInn线性回归直线,CLInn:另外绘制预测值的置信区间曲线,nn:置信区间大小。RQ二次曲线RC三次曲线CI=颜色:设置连线的颜色。LINE|L=n:设置连线的线型。n为线型号码,取值范围:0~46。其中常用的有:0(空)、1(实线,缺省值)、2(由点组成的虚线)……。WIDTH|W=n:设置连线的宽度。n为宽度值。系统缺省值为1。例3:对例1的修饰改为如下形式:goptionsreset=all;symbolv=diamondh=2cv=redi=joinci=bluel=2w=2pointlabel;procgplotdata=dst.airqual;plotave_tsp*month;wherestate='NY';run;说明:连线是对数据(子)集中的每一对表示相邻观测的点之间连线的,所以在绘图前要首先处理好观测在数据集中的顺序。最好是首先将数据集按横坐标变量进行排序。例4:对sashelp.class作图,显示变量身高(Height)和体重(Weight)之间的关系。goptionsreset=all;symbolv=squarei=join;procgplotdata=sashelp.class;plotweight*height;run;3.2设置标题和脚注设置标题的一般格式:TITLEn选项‘字符串’选项‘字符串’……;设置脚注的一般格式:FOOTNOTEn选项‘字符串’选项‘字符串’……;功能:设置在图上显示的标题和脚注。选项:FONT|F=字体:设置字符串的字体。COLOR|C=颜色:设置字符串的颜色。HEIGHT|H=n单位:设置字符的高度。说明:1)TITLE和FOOTNOTE语句都是全局语句,性质与SYMBOL语句相同。2)可选项n标明了TITLE或FOOTNOTE语句的序号,n的取值范围1~99,缺省值为1。3)希望在标题或脚注位置显示的信息在TITLE或FOOTNOTE语句中用字符串的形式给出。在字符串前面的选项是对字符串显示性质的控制,如果不给出,则系统以缺省方式显示字符串。4)SAS系统提供的2类字体:硬字库:由操作系统提供的字库;软字库:由SAS系统提供的字库。注意:软字库的字体名直接输入即可,而硬字库的字体名两端需加引号。获得想用的字体名:1)在命令框中输入FONTLIST并提交;2)在屏幕上出现的SelectFont(选择字体)对话框中选择;软字库的所有字体点击可获得硬字库中的字体名称例5:在例3中加入title语句:goptionsreset=all;symbolv=diamondh=2cv=redi=joinci=bluew=2pointlabel;titlef='隶书'c=green'纽约州每月的悬浮颗粒物平均值';title2h=1.2'2002';procgplotdata=dst.airqual;plotave_tsp*month;wherestate='NY';run;3.3设置坐标轴AXIS语句的一般形式:AXISn选项;功能:设置坐标轴的显示形式,包括:坐标轴在画面中的位置和长度,变量值在轴上的出现次序、尺度、刻度的标注,相关文字的字体、颜色、布局。说明:可选项n标明了AXIS语句的序号,n的取值范围1~99,缺省值为1。AXIS语句也是全局语句。取消设置:要取消第n号坐标轴的设置AXISn;要取消所有坐标轴的设置GOPTIONSRESET=AXIS;选项:COLOR|C=颜色:设置坐标轴及相关文字的颜色。LABEL=(字符属性‘字符串’)|NONE:设置轴的标签及其属性。说明:轴的标签就是轴的说明信息,可在括号中的字符串给出。系统缺省设置是显示对应变量的标签或名字。VALUE=(字符属性‘字符串’)|NONE:设置轴的主刻度的描述字符及其属性。ORDER=(值列表):设置主刻度位置依次出现的数值。MINNOR|N=n|NONE:设置在主刻度之间加入的次刻度数n。标签和主刻度的字符属性:C=颜色:设置字符颜色;F=字体:设置字符字体;H=n单位:设置字符高度;R=角度:设置单个字符的旋转角度,单位是度,逆时针方向为正。A=角度:设置整个字符串的旋转角度。J=LEFT|CENTER|RIGHT:设置字符串的对齐方式。例6:设置如下坐标轴:axis1label=(f=complexc=blueh=3pct)c=magentaw=3minor=none;axis2label=(a=-90r=90f=complexc=blueh=3pct'PartPerMillion')c=magentaw=3;3.4PLOT语句中的选项PLOT语句的一般形式:PLOT纵坐标变量*横坐标变量/选项;选项:FRAME|NOFRAME:设置图中是否显示边框。AUTOHREF|AUTOVREF:自动在图中添加经过主刻度的水平/垂直参考线。NOAXIS:取消坐标轴以及与坐标轴相关的图形元素。CAXIS=颜色:设置坐标轴的颜色。CTEXT=颜色:设置坐标轴旁字符的颜色。HAXIS|VAXIS=AXISn|值列举:设置图中的横坐标轴或纵坐标轴。例6:对于例1中的数据集,绘制如下连线图:goptionsreset=all;symbol1v=triangleh=1.5i=joinc=greenw=2;titlec=blue'NewYorkSuspendedParticleAverage';title2c=blueh=1.2'2002';axis1label=(f=complexc=blueh=3pct)c=magentawidth=3minor=none;axis2label=(a=-90r=90f=complexc=blueh=3pct'PartsPerMillion')c=magentawidth=3;procgplotdata=dst.airqual;plotave_tsp*month/haxis=axis1vaxis=axis2noframe;wherestate='NY';run;4.多条连线的图形绘制4.1多幅图形的绘制在一个过程步中绘制多幅图形,可以采用以下几种方法:(1)使用BY语句对数据集中的观测分组;(2)在PLOT语句中给出多个纵横轴变量的组合;;(3)在过程步中使用多个PLOT语句。说明:在PROCGPLOT过程中给出可选项UNIFORM可使不同图中同一变量的坐标轴尺度相同。例7:分别绘制纽约州每月平均悬浮颗粒物和含铅量的连线图。goptionsreset=all;procgplotdata=dst.airqual;wherestate='NY';plotave_tsp*monthave_lead*month/caxis=bluectext=blue;sy