
SAS作图详细教程.ppt
75页SAS作图详细教程§1 SAS程序的过程步ßSAS的过程步可看作是已经编写好的子程序,用户可以在需要的时候调用它们ß过程步的一般形式:PROC 过程名过程名 <选项选项>; 过程的专用语句描述过程的专用语句描述;
前者是在GRAPH窗口中以精确方式绘图,后者是在OUTPUT窗口中以非精确方式绘图 ß1.图形选项设置 Þ一般形式:GOPTIONS 图形选项图形选项;Þ功能:根据需要来进行图形选项的设置,设置有关图形输出的各项参数 Þ说明:此操作一般在绘图之前进行 此语句属于环境设置语句 Þ恢复系统的缺省设置 图形选项:RESET = ALL | GOPTIONS | GLOBAL | …… 说明:GOPTIONS:将所有全局语句(如TITLE等)的设置恢复为缺省状态 GOPTIONS:将所有关于图形的设置恢复为缺省状态 ALL:同时实现上述两种功能 ß2.基本散点图 Þ一般形式: PROC GPLOT ; PLOT 纵坐标变量纵坐标变量* *横坐标变量横坐标变量; RUN; Þ说明: 1)DATA = 数据集名:此选项指定数据集的名称,要求用二级文件名表示; 2)PLOT语句中指定纵坐标变量和横坐标变量,要求必须是数值型变量; 3)每条观测对应图上的一个点 ß例1:假设数据集dst.airqual中保存的是在一段时间内美国47个州的逐月的空气质量监测数据。
其中包含下列变量: 变量名类型 说明STATE字符型州名,用2个字母的缩写表示REGION数值型州所在地区,用1~7的数字表示MONTH数值型月份,用1~12的数字表示AVE_TSP数值型悬浮颗粒物含量的平均值AVE_LEAD数值型铅含量的平均值取纽约州的数据制作平均悬浮颗粒物含量随月份变化的散点图 :libname dst 'd:\sasbook\dst';goptions reset=all;proc gplot data=dst.airqual; plot ave_tsp*month; where state='NY';run; Þ注意:绘制高分辨率的统计图非常耗费系统资源,因此当我们提交作图语句时,SAS系统只是把它们送入程序缓冲区只有当用户打开GRAPH窗口时,程序才真正执行,绘出统计图然后此过程步处于驻留状态,系统可以继续执行所提交的语句,从而实现了用户和系统之间的交互操作结束驻留状态的方法有:(1)提交另一个程序步;(2)提交QUIT语句 ß3.散点图和连线图的修饰 Þ 点的符号、大小、颜色;Þ 点间连线、连线方式、线型、宽度;Þ 坐标轴:包括刻度、标签、颜色等;Þ 图例的配置与修饰。
Þ3.1 SYMBOL语句 一般形式: SYMBOL
POINTLABEL:在图中每个点的旁边标注纵坐标变量的值例2:对于例1我们作如下修饰:goptions reset=all;symbol v=diamond cv=red h=1.5 pointlabel;proc gplot data=dst.airqual; plot ave_tsp*month; where state='NY';run; CELL单元,SAS默认单位CM厘米PCT屏幕画面大小的百分数 PT象素IN英寸 Þ2)设置连线 选项 :INTEPOL | I = 连线方式连线方式:设置相邻点之间的连线方式名称连线方式NONE不连线(缺省方式)JOIN直线SPLINE光滑的样条曲线NEEDLE通过点的并且垂直于横坐标轴的直线SMnn绘制不经过散点的样条曲线nn曲线光滑性与拟合度的折衷,取值:00~99RL
WIDTH | | W = = n:设置连线的宽度n为宽度值系统缺省值为1 例3:对例1的修饰改为如下形式:goptions reset=all;symbol v=diamond h=2 cv=red i=join ci=blue l=2 w=2 pointlabel;proc gplot data=dst.airqual; plot ave_tsp*month; where state='NY';run; Þ说明:连线是对数据(子)集中的每一对表示相邻观测的点之间连线的,所以在绘图前要首先处理好观测在数据集中的顺序最好是首先将数据集按横坐标变量进行排序例4:对sashelp.class作图,显示变量身高(Height)和体重(Weight)之间的关系goptions reset=all;symbol v=square i=join;proc gplot data=sashelp.class; plot weight*height;run; Þ3.2 设置标题和脚注 设置标题的一般格式: TITLE
选项: FONT | F = 字体字体:设置字符串的字体COLOR | | C = 颜色颜色:设置字符串的颜色HEIGHT | | H = n< <单位单位> >:设置字符的高度说明: 1)TITLE和FOOTNOTE语句都是全局语句,性质与SYMBOL语句相同 2)可选项
说明:可选项
A =角度角度:设置整个字符串的旋转角度J = LEFT | CENTER | RIGHT:设置字符串的对齐方式例6:设置如下坐标轴:axis1 label=(f=complex c=blue h=3pct) c=magenta w=3 minor=none;axis2 label=(a=-90 r=90 f=complex c=blue h=3pct 'Part Per Million') c=magenta w=3; ß3.4 PLOT语句中的选项 PLOT 语句的一般形式: PLOT 纵坐标变量纵坐标变量* *横坐标变量横坐标变量 / 选项选项; Þ选项 :FRAME | NOFRAME:设置图中是否显示边框AUTOHREF | AUTOVREF:自动在图中添加经过主刻度的水平/垂直参考线NOAXIS:取消坐标轴以及与坐标轴相关的图形元素 CAXIS = 颜色:设置坐标轴的颜色CTEXT = 颜色颜色:设置坐标轴旁字符的颜色HAXIS | VAXIS = AXIS
例6:对于例1中的数据集,绘制如下连线图:goptions reset=all;symbol1 v=triangle h=1.5 i=join c=green w=2 ;title c=blue 'New York Suspended Particle Average';title2 c=blue h=1.2 '2002';axis1 label=(f=complex c=blue h=3pct) c=magenta width=3 minor=none;axis2 label=(a=-90 r=90 f=complex c=blue h=3pct 'Parts Per Million') c=magenta width=3;proc gplot data=dst.airqual; plot ave_tsp*month/haxis=axis1 vaxis=axis2 noframe; where state='NY';run;ß4.多条连线的图形绘制 Þ4.1 多幅图形的绘制 在一个过程步中绘制多幅图形,可以采用以下几种方法:(1)使用BY语句对数据集中的观测分组;(2)在PLOT语句中给出多个纵横轴变量的组合; ;(3)在过程步中使用多个PLOT语句。
说明:在PROC GPLOT过程中给出可选项UNIFORM可使不同图中同一变量的坐标轴尺度相同 例7:分别绘制纽约州每月平均悬浮颗粒物和含铅量的连线图goptions reset=all;proc gplot data=dst.airqual; where state='NY'; plot ave_tsp*month ave_lead*month /caxis=blue ctext=blue; symbol1 v=triangle i=join; title f=swissi c=red 'New York Suspended Particle Average';run; Þ4.2 将多条连线图绘制在同一幅画面上 1)在PLOT语句中给出选项OVERLAY; 2)在同一个过程步中使用语句PLOT、PLOT2绘制多条连线; 3)按第三个变量的值对数据集进行分组作图Þ1)选项OVERLAY 例8:将纽约州每月平均悬浮颗粒物和含铅量的连线绘制在同一幅图中goptions reset=all;proc gplot data=dst.airqual; where state='NY'; plot ave_tsp*month ave_lead*month / overlay legend hminor=0 vaxis=axis1; symbol1 v=diamond i=join c=blue l=1 w=3; symbol2 v=star i=join c=red l=2 w=3; axis1 label=(a=-90 r=90 f=swiss 'PARTS PER MILLION'); title f=swissi c=magenta h=6pct 'Delaware Monthly Pollutant Averages';run; 说明:Þ1)在同一幅画面中坐标轴尺度相同,因此无需UNIFORM选项;Þ 2)为了区分图中的不同连线,每条连线的显示形式应该不同。
我们可以通过SYMBOL语句设置连线的参数系统默认每条SYMBOL语句设置的连线依次使用一次 Þ3)PLOT语句中的选项LEGEND的功能是在图中加入图例以说明每条连线的含义 Þ2)PLOT2语句一般形式: PLOT2 纵坐标变量纵坐标变量* *横坐标变量横坐标变量 …… / <选项选项>;功能:为纵坐标变量在图的右侧另外设置一个纵坐标轴,它与用PLOT语句在图的左侧设置的纵坐标轴可以用不同的AXIS语句设置例9:修改例8,为变量ave_lead在图的右侧建立一个纵坐标轴goptions reset=all;proc gplot data=dst.airqual; where state='NY'; plot ave_tsp*month / overlay legend hminor=0; plot2 ave_lead*month / overlay legend; symbol1 v=diamond i=join c=blue l=1 w=3 h=1.5; symbol2 v=star i=join c=red l=2 w=3 h=1.5; title f=zapf c=blue h=6pct 'Delaware Monthly Pollutant Averages';run; Þ3)按照第三个变量分类作图 Þ一般形式:PLOT 纵坐标变量纵坐标变量 * * 横坐标变量横坐标变量 = 第三变量第三变量 选项选项>; Þ功能:绘图时将数据集中的观测按第三个变量的值分类(第三变量值相等的观测分为一类),然后分别绘制不同的连线并置于同一幅图中。
例10:将纽约、特拉威和新泽西三个州的逐月平均悬浮颗粒物的连线图画在同一幅画面中goptions reset=all;proc gplot data=dst.airqual; where state in('NY' 'DE' 'NJ'); plot ave_tsp*month=state / hminor=0; symbol1 v=diamond i=join c=blue l=1 w=2 h=1.5; symbol2 v=star i=join c=red l=2 w=2 h=1.5; symbol3 v=square i=join c=green l=3 w=2 h=1.5; title f=zapf c=blue h=5pct 'New York, Delaware, New Jersey TSP Average';run; 说明:(1)在按第三个变量分类作图时,系统缺省的提供图例2)由于新泽西州后几个月的数据没有提供,所以在图中只显示了前几个月的连线 ß4.3 LEGEND语句 主要用于对图例进行设置的全局语句Þ一般形式: LEGENDn 选项选项; Þ功能:设置图例。
Þ说明:n为LEGEND语句的序号,取值范围1~99,缺省值为1 Þ恢复所有LEGEND语句的缺省设置: GOPTIONS RESET = LEGEND; Þ在图中显示我们已设置的图例 : PLOT 纵坐标变量纵坐标变量* *横坐标变量横坐标变量 / LEGEND = LEGENDn;Þ选项: ACROSS = n:将图例元素排为包含n个元素的行; DOWN = n:将图例元素排为包含n个元素的列;POSITION = ( bottom | middle | top left | center | right outside | inside ):设置图例在画面上的位置,画横线的是缺省值; FRAME:设置图例区加边框; CFRAME = 颜色颜色:设置图例区边框的颜色; CSHADOW = 颜色颜色:设置图例区边框阴影的颜色;LABEL = ( 字符属性字符属性 ‘ ‘字符串字符串’’):设置图例标签;VALUE = ( 字符属性字符属性1 ‘字符串字符串1’ ……):设置图例中的每条连线的说明标签 例11:修改例10中的图例。
goptions reset=all;proc gplot data=dst.airqual; where state in('NY' 'DE' 'NJ'); plot ave_tsp*month=state / hminor=0 legend=legend1; symbol1 v=diamond i=join c=blue l=1 w=2 h=1.5; symbol2 v=star i=join c=red l=2 w=2 h=1.5; symbol3 v=square i=join c=green l=3 w=2 h=1.5; legend1 down=3 position=(top right inside) frame cshadow=black label=(f=duplex h=1.5) value=(f=duplex); title f=zapf c=blue h=5pct 'New York, Delaware, New Jersey TSP Average';run; §2 制作柱状图和饼图 SAS系统提供GCHART过程绘制二维或三维的柱状图或饼图,用于表现某种分类下某个变量的统计量的汇总信息。
ß1.GCHART过程步 Þ1.1 一般形式PROC GCHART DATA = 数据集名数据集名; 图形名图形名 作图变量作图变量 选项选项>; RUN;Þ1.2 定义要素 1)定义图表的形式; 2)定义一个作图变量(Chrat Variable)用于决定图表的自变量,也称分类变量; 3)定义一个分析变量用于计算各种统计量Þ1.3 图表的形式 图形形式图形名自变量的值对应的图形元素分析变量的值水平柱状图HBAR一个柱柱长三维水平柱状图HBAR3D一个柱柱长垂直柱状图VBAR一个柱柱高三维垂直柱状图VBAR3D一个柱柱高三维平铺柱状图BLOCK一个柱柱高饼图PIE饼的一角扇形的角度三维饼图PIE3D饼的一角扇形的角度星形图STAR一条射线射线长度ß2. 基本汇总图 系统根据作图(分类)变量的值将观测分类,再用柱状图或饼图展示汇总结果说明:1)作图变量:字符型:变量的一个值是一类;数值型:系统认为值是连续的,会自动将值的变化范围分为若干等长区间并以区间的中点作标签2)不指明分析变量,系统默认的统计量是频数(Freq);若指明分析变量,系统默认的统计量是总和(Sum)。
3)可添加TITLE、FOOTNOTE等语句修饰图ß例:假设数据集dst.airqual中保存的是在一段时间内美国47个州的逐月的空气质量监测数据其中包含下列变量: 变量名类型 说明STATE字符型州名,用2个字母的缩写表示REGION数值型州所在地区,用1~7的数字表示MONTH数值型月份,用1~12的数字表示AVE_TSP数值型悬浮颗粒物含量的平均值AVE_LEAD数值型铅含量的平均值例1:用垂直柱状图显示不同区域的监测次数goptions reset=all;proc gchart data=dst.airqual; where region=1; vbar state; title c=red h=5pct f=swissl 'Regional Contrct Frequencies';run;例2:用数值变量作分类变量,以垂直柱状图显示纽约州不同含铅量的监测次数goptions reset=all;proc gchart data=dst.airqual; where state='NY'; vbar ave_lead; title c=red h=5pct f=swissl 'Regional Contrct Frequencies';run;ß3. 与分类有关的选项说明:在CHART语句的选项中设置。
ÞLEVELS = n:对数值型变量设置其分类数n;ÞMIDPOINTS=值列值列:对字符型分类变量依次列出每类的值,对数值型分类变量依次列出每个区间的中点; 格式:值列形式:值1 值2 ……初值 to 终值 by 步长ÞDISCRETE:对于每个数值型分类变量取值作为一类,适用于离散型数值变量;ÞASCENDING | DESCENDING:按统计量值的升序或降序排列各柱或饼的各角例:在下面的过程步中分别以下列vbar语句代替原有的vbar语句,可以看到不同效果goptions reset=all;proc gchart data=dst.airqual; vbar ave_lead;run;vbar ave_lead / levels=2;vbar month /discrete;vbar month /midpoints=1 to 12 by 3;vbar state /midpoints='NY' 'DE' 'NJ';ß4. 选择分类变量和统计量说明:在CHART语句的选项中设置ÞSUMVAR=变量名变量名:设置分析变量;ÞTYPE = FREQ | CFREQ | PERCENT | CPERCENT | MEAN | SUM:设置统计量。
FREQ:频数;CFREQ:累积频数;PERCENT:百分数;CPERCENT:累积百分数; MEAN :均值;SUM:总和例:以水平柱状图显示各地区悬浮颗粒物含量的平均值的平均值goptions reset=all;proc gchart data=dst.airqual; hbar region /sumvar=ave_tsp type=mean;run;ß5. 显示统计量说明:在CHART语句的选项中设置ÞNOSTAT:在图中不显示统计量;ÞOUTSIDE =统计量统计量:在柱的外部显示;ÞINSIDE =统计量统计量:在柱的内部显示;例:以三维垂直柱状图显示各地区悬浮颗粒物含量的平均值的平均值,并标注频数和累计频数proc gchart data=dst.airqual; vbar3d region /sumvar=ave_tsp type=mean inside=freq outside=cfreq;run;ß6. 柱状图的修饰6.1 在CHART语句的选项中设置Þ1)坐标轴NOAXIS:不显示与坐标轴有关的内容;CAXIS = 颜色颜色:设置坐标轴的颜色;CTEXT = 颜色颜色:设置轴旁文字的颜色;MAXIS = AXISn:设置分类变量的坐标轴;RAXIS = AXISn:设置统计量的坐标轴;MINOR = n:统计量坐标轴的主刻度之间加入的次刻度数;AUTOREF:自动显示参照线,垂直于统计量坐标轴。
Þ2)边框NOFRAME:不显示边框;CFRAME = 颜色颜色:设置边框的颜色Þ3)柱宽WIDTH = n:设置柱宽(单位:CELL)SPACE = n:设置柱间宽度(单位:CELL)ß6.2 PATTERN语句Þ功能:修饰图的显示图案Þ一般格式: PATTERNn 选项选项;Þ说明:n为PATTERN语句的序号,取值范围1~99,缺省值为1 Þ取消设置:取消第n号图案设置: PATTERNn;取消所有图案设置: GOPTIONS RESET=PATTERN; Þ选项:COLOR = 颜色颜色:设置颜色;VALUE|V = 花纹值花纹值:设置花纹,常见有:E:空心;S:实心;Ln、Rn、Xn:分别为斜线和交叉线,n为密度值ß7. 饼图的修饰Þ7.1 颜色和花纹在PIE语句的选项中设置:FILL = SOLID | Xn | E:设为实心、交叉线或空心的;CFILL = 颜色颜色:设置花纹颜色;COUTLINE =颜色颜色:设置轮廓线颜色;ASCENDING | DESCENDING:各角升序或降序排列。
在PATTERN语句的选项中设置:VALUE|V = PE | PS | PntaaaPE:空心PS:实心Pntaaa:n——密度;t——线形,N平行,X交叉;aaa——角度例1:用饼图表示各地区观测所占的百分比,各扇形用蓝色交叉线填充proc gchart data=dst.airqual; pie region /type=percent fill=x3 cfill=blue;run;Þ7.2 加入分类变量和统计量的值说明:饼图无坐标轴,所以分类变量只能标在图中缺省的标在紧靠饼的外部在PIE语句中的选项设置:SLICE = 方法方法:设置标注分类变量值的方法;PERCENT =方法方法:设置标注百分数值的方法;VALUE =方法方法:设置标注统计量值的方法;可选方法:ARROW:以箭头引向饼外;INSIDE:在饼内;OUTSIDE:在饼外临近处例:用3D饼图表示各地区的观测平均悬浮颗粒物的总和,并且标注分类变量、百分数和统计变量proc gchart data=dst.airqual; pie3d region /sumvar=ave_tsp slice=arrow percent=inside value=outside;run;Þ7.3 插入分组变量方法:在CHART语句中加入选项 GROUP = 变量功能:将按指定变量的值对观测分组,为每组数据制作一个饼图。
例:分别为纽约州和新泽西州的数据建立饼图,用以显示各月份的数据proc gchart data=dst.airqual; where state in ('NY' 'NJ'); pie3d month /group=state across=2 slice=inside;run;Þ7.4 突出与归并某些类别在PIE语句中设置:EXPLODE = 值值:设置从饼中分离出的类别;MATCHCOLOR :设置字与饼的颜色一致;OTHER = n:将百分数n的类别归入OTHER类中;OTHERLABEL = ‘字符串字符串’’:设置OTHER类的标签。
