13.绘图Ⅰ—通用语法图形是展示数据的重要方法,图形的形象直观是数据报表无法替代的。SAS中超过80%的统计分析过程,都可以利用ODSGraphics模块生成图形独立输出。SAS9.2版以来,SAS画图模块正变得越来越灵活、精良和易于使用。在一些分析过程步(PROCs)中,ODSGraphics可以自动的生成一些图形,而不需要额外的代码。这使得用户多了一个选择,即可以使用默认的输出生成图形,也可以自己来创造个性化的图形。(一)ODSGraphics概述一、打开/关闭ODSGraphicsSAS9.2开始,将“ODSGraphs”从SAS/GRAPH移到BaseSAS9.3,并增加了新的功能更加强大的绘图过程步:SGPLOT,SGSCATTER,SGPANEL,SGRENDER.这些过程步,用很少的代码就能生成高质量的图形。注:早期SAS是用GPLOT和GCHART过程步绘制图形。从SAS9.3开始,ODSGraphics模块默认是关闭的,使用它绘图之前需要先打开,使用如下语句:ODSGRAPHICSON;不用了可以保持其打开状态(影响软件启动速度),若要关闭用:ODSGRAPHICSOFF;ODSGraphics相比SAS/GRAPH具有更先进的特性:直接将图形以图片格式输出(默认输出路径是work临时库),在结果查看器中默认以html格式显示。(二)PROCSGPLOT过程步一、图形分类PROCSGPLOT过程步可以绘制16种图形,归为5类:图形类图形名基本语法X-Y图①散点图(SCATTER)PLOTNAMEX=varY=var/options;注:PLOTNAME为SCATTER、SERIES等图形名。②时间序列图(SERIES)③阶梯图(STEP)④针形图(NEEDLE)⑤向量图(VECTOR)带状图⑥带状图(BAND)BANDX=varUPPER=varLOWER=var/options;拟合-置信图⑦线性回归图(REG)PLOTNAMEX=varY=var/options;⑧局部加权回归(LOESS)⑨B-样条回归(PBSPLINE)⑩预测椭圆(ELLIPSE)连续变量分布图⑪盒形图(HBOXorVBOX)PLOTNAMEresponse-var/options;⑫直方图(HISTOGRAM)⑬密度图(DENSITY)分类变量分布图⑭条形图(HBARorVBAR)PLOTNAMEcategory-var/options;⑮线形图(HLINEorVLINE)⑯点状图(DOT)二、可选参数OPTIONS可选参数说明适用图形RESPONSE=var指定数值变量做统计分析⑭-⑯STAT=统计量对RESPONSE变量做指定的统计分析⑭-⑯DATALABEL=var指定该变量的值作为标签/GROUP=var;设置分组变量①-⑨,⑭-⑯/TRANSPARENCY=value;设置透明度:[0,1]①-⑥,⑩-⑯/MARKERS;设置标记②-④,⑮/NOMARKERS;设置无标记⑦-⑨/LEGENDLABEL=’text-str’;修改线型说明全部/FILLATTRS=(attribute=val);设置填充属性⑥⑩⑫⑭/LINEATTRS=(attribute=val);设置线型属性②-⑩,⑬,⑮/MARKERATTRS=(attribute=val);设置标记属性①-④,⑦-⑨,⑮⑯三、16种图形样式、绘图语句及可选参数四、设置坐标轴(XAXIS/YAXIS)和基准线(REFLINE)1.设置坐标轴基本语法:PROCSGPLOT;XAXIS或YAXISoptions;选项包括:(1)GRID生成网格线;(2)LABEL='text-str'设置坐标轴标记的文字;(3)TYPE=axistype设置坐标刻度的类型(字符变量默认为DISCRETE;数值变量默认为LINEAR;日期时间变量默认为TIME;对数尺度默认为LOG;(4)VALUES=(values-list)设置刻度标记,例如VALUES=(05101520);等同于VALUES=(0TO20BY5);2.设置基准线(水平或竖直线)给图形增加基准线,是为了便于观察哪些点在某些重要的取值之上(左)还是之下(右)。基本语法:PROCSGPLOT;REFLINEvalues/options;说明:(1)“values”为一些数值,指定画水平线的位置;(2)可选参数包括:AXIS=X或Y——指定水平还是竖直,默认Y(水平);LABEL='text-str'——设置基准线标记的文字;TRANSPARENCY=n——设置透明度:[0,1],默认0.8;示例:REFLINE3275/LABEL=('32degrees''75degrees')TRANSPARENCY=0.5;XAXISTYPE=DISCRETE;YAXISLABEL='AverageHighTemperature(F)';五、修改“线型说明”(KEYLEGEND)和添加“文字说明”(INSET)SGPLOT和SGPANEL过程步都会自动生成线型说明,但有时候需要修改它或加一些自己的注释。若想去掉“线型说明”,使用如下语句即可:PROCSGPLOTDATA=datasetNOAUTOLEGEND;1.修改“线型说明”基本语法:KEYLEGEND/options;可选项包括:(1)DOWN=n和ACROSS=m指定“线型说明”占n行m列;(2)LOCATION=INSID或OUTSIDE指定“线型说明”在坐标轴范围内还是外,默认OUTSIDE;(3)NOBORDER“线型说明”是在一个小框中,该参数可以去掉小框;(4)POSITION=value指定“线型说明”放置的具体位置:TOP,TOPLEFT,TOPRIGHT,BOTTOM(默认),BOTTOMLEFT,BOTTOMRIGHT,LEFT,RIGHT.2.添加文字说明基本语法:INSET'text-str1'...'text-strn'/options;注:多个说明语句,将逐个往下排(第1行,第2行…);选项包括:(1)BORDER为文字说明加上边框;(2)POSITION=value指定“线型说明”放置的具体位置同1.(4).示例:KEYLEGEND/LOCATION=INSIDEPOSITION=TOPRIGHT;INSET'Olympicsnotheldin''1940and1944'/POSITION=BOTTOMLEFT;六、定制图形属性可以设置线型、颜色等图形属性,让图形更具个性化。SGPLOT过程步提供了许多图形属性,用法:跟在SGPLOT的基本绘图语句后面,加上“/图形属性设置语句”即可。例如,PROCSGPLOT;SCATTERX=ScoreY=HoursOfStudy/MARKERATTRS=(SYMBOL=STAR);常用的图形属性有:(1)FILLATTRS=(COLOR=value)设置填充属性,填充颜色为某值,COLOR可选项:AQUA,BLACK,BLUE,FUCHSIA,GREEN,GRAY,LIME,MAROON,NAVY,OLIVE,PURPLE,RED,SILVER,TEAL,WHITE,YELLOW;(2)LINEATTRS=(attribute=value)设置线型属性,attribute包括:颜色COLOR=,样式PATTERN=,线宽THICKNESS=val;PATTERN可选项:SOLID,DASH,SHORTDASH,LONGDASH,DOT,DASHDASHDOT,orDASHDOTDOT;(3)MARKERATTRS=(attribute=value)设置“标记”的属性,attribute包括:COLOR=,SIZE=val,符号SYMBOL=;SYMBOL选项包括:CIRCLE,CIRCLEFILLED,DIAMOND,DIAMONDFILLED,PLUS,SQUARE,SQUAREFILLED,STAR,STARFILLED,TRIANGLE,TRIANGLEFILLED(4)LABELATTRS=(attribute=value)设置坐标轴的属性,attribute包括:COLOR=,SIZE=,STYLE=,WEIGHT=;SYTLE选项:ITALIC(斜体),NORMAL(默认)WEIGHT选项:BOLD(加粗),NORMAL(默认)(5)VALUEATTRS=(attribute=value)设置坐标轴刻度标记的属性,同(4);注:THICKNESS和SIZE数值的单位默认是PX(相对长度,1像素),其它可选:CM,IN,MM,PCT,PT。1in=2.54cm=25.4mm=72pt=6pc七.设置图片格式和输出路径作为论文或PPT中使用的图片,经常需要调整图片的大小、类型、分辨率等。SAS图形可以输出为PDF、RTF、LISTING、HTML.1.指定图形的输出样式和风格基本语法:ODS输出样式options;说明:(1)常用的输出样式有:HTML,LISTING,PDF,RTF;(2)options可选项:①FILE或GPATH='输出路径';“FILE”设置PDF、RTF格式图片的输出路径;“GPATH”设置LISTING、HTML格式图片的输出路径;②DPI或IMAGE_DPI=n“DPI”设置PDF格式图片的分辨率,默认n=200;“IMAGE_DPI”设置HTML,LISTING,RTF格式图片的分辨率,默认n=100;③STYLE=风格名指定一种风格模板(见下表);色彩风格模板名默认输出样式Color(彩色)ANALYSISHTMLBLUEHTMLLISTINGLISTING(graphsonly)PRINTERPRINTER,PDF,PSRTFRTFSTATISTICAL灰色JOURNAL黑白JOURNAL22.设置输出图片的格式基本语法:ODSGRAPHICS/options;options可选项:(1)HEIGHT=h和WIDTH=w设置图片的高和宽,可选单位CM,IN,MM,PT,PX;默认大小是640×480像素,也可以只设置高或宽,另一个会自动按比例跟着变化;(2)IMAGENAME='filename'设置图片的文件名;(3)OUTPUTFMT=filetype指定图片的输出格式(后缀名):BMP,GIF,JPEG,PDF,PNG,PS,SVG,TIFF等;(4)RESET恢复默认设置,若没有RESET,将自动给图片依次命名;示例:ODSLISTINGGPATH='c:\MyGraphs'STYLE=JOURNAL;ODSGRAPHICS/RESETIMAGENAME='BirdGraph'OUTPUTFMT=BMPHEIGHT=2INWIDTH=3IN;(三)PROCSGPANEL过程步SGPLOT与SGPANEL过程步用法基本相同,区别在于:SGPLOT是绘制“单图”;SGPANEL过程步绘制“多子图”。基本语法:PROCSGPANELdata=数据集;PANELBY分组变量/options;绘图语句;说明:(1)SGPANEL过程步必须与“PANELBY语句”一起使用;(2)设置坐标轴时用“COLAXIS、ROWAXIS”,不同于SGPLOT用“XAXIS、YAXIS”;(3)可选项:①ROWS=n和COLUMNS=m设为放置n行m列(n×m个)子图;②MISSING设为包含缺省值;③NOVARNAME删除子图标题的变量名;④SPACING=n设置子图行列间的距离=n个像素,默认n=0;⑤UNISCALE=value设置坐标轴共同的刻度标记;例1关于鸟类的数据(C:\MyRawData\Birds.dat),变量包括名称、种类(S-鸣禽,R-猛禽)、身长(cm)、翼展(cm),注意每行有多组数据:读入数据,用GSPANEL过程步绘制翼展(X轴)和身长(Y轴)的散点图,要求按照种类分组。代码:datawings;infile'c:\MyRawDat