SAS/Graph非常强大,本文主要讲一些常用且功能强大的Graph相关的过程步。
- ]8 N, V+ Y* l5 V% _! { z一.proc gplot命令
/ ?5 `, {- I; y# Q1. proc gplot的简单例子
proc gplot data=sashelp.shoes;
plot Returns * Sales ;
run;
2. 我们也可以只画出符合条件的数据的图形。
proc gplot data=sashelp.shoes;
where Region in("United States", "EasternEurope");
plot Returns * Sales ;
run;
3. 输出的图像都是默认的黑色的小十字,因此我们不能区分来自不同地区的数据,下面的程序就是为了解决这一问题
proc gplot data=sashelp.shoes;
where Region in("United States", "EasternEurope");
plot Returns * Sales= Region;
run;
这里红色的来自美国,黑色的来自东欧,当然我们也可以自己设定颜色(SAS基本颜色有:black, red, green, blue, cyan, magenta,grey, pink, orange, brown, and yellow)。
4. 设定坐标轴和所有文字和颜色
proc gplot data=sashelp.shoes;
where Region in("United States", "EasternEurope");
plot Returns * Sales= Region/
caxis=blue
ctext=red
grid;
run;
5. 如果要对网格进行更精细地设置,则要用到AUTOHREF和AUTOVREF选项。AUTOHREF中,LHREF设置水平线的线类型,CHREF设置水平线的线颜色;AUTOVREF中,LVREF设置垂直线的线类型,CVREF设置垂直线的线颜色。
proc gplot data=sashelp.shoes;
where Region in("United States", "EasternEurope");
plot Returns * Sales= Region/
autohref lhref=2
chref=lime
autovref lvref=5
cvref=pink
caxis=blue
ctext=red ;
run;
6. 还可以用VAXIS和HAXIS分别设置纵轴和横轴的刻度。注意:如果某个数据超过了你指定的这个刻度,那么这个数据将不会被输出,因此在用这两个选项时要非常小心。
proc gplot data=sashelp.shoes;
where Region in("United States", "EasternEurope");
plot Returns * Sales= Region/
vaxis=0 to 15000 by 5000
autohref lhref=2
chref=lime
autovref lvref=5
cvref=pink
caxis=blue
ctext=red ;
run;
7. 下面介绍一些有关Graph相关过程的全局(global)设置
title1 c=darkblue h=2.5 f=swissb "SAS/Graph "
c=darkred h=3.0 f=swissbi "GPLOT Example";
axis1
label=(c=darkorange h=1.5 f=zapfbi
j=r "Total Returns")
offset=(0.2 in )
order=(0 to 15000 by 5000)
value=(c=darkorange f=swissl );
axis2
label=(c=darkgreen h=1.5 f=zapfbi)
order=(0 to 500000 by 50000)
value=(f=swissl c=darkgreen);
symbol1 c=red h=2 v=# ;
symbol2 c=blue h=3 v=diamond;
/ T& m% T, l4 V( F2 s. y1 x! @+ nproc gplot data=sashelp.shoes;
where Region in("United States","EasternEurope");
plot Returns * Sales=Region /
vaxis=axis1 haxis=axis2
autohref lhref=2 chref=lime
autovref lvref=5 cvref=pink
caxis=blue ctext=red ;
run;
各绘图过程中都指定了丰富的选项来调整图形,读者可以参考有关资料或查系统的帮助。另外,在图形中也可以用TITLE语句和FOOTNOTE语句给图形加标题和脚注。为了在图形的标题、标签中也能使用汉字,老的SAS版本需要比较多的步骤,但是在Windows下的SAS 8.0以后只要很简单的语句就可以在图形中使用True Type字型的汉字,例如: goptions ftext="宋体";
为了把SAS/GRAPH绘制的图形保存为兼容的图形文件,只要在显示某一页图形输出时,选“File | Export”菜单,在出现的输入文件名的窗口选择适当的文件类型,如BMP、WMF 、JPEG、PS,等等。本讲义中的SAS/GRAPH图形就是从SAS中用“File| Export”输出为WMF 文件调入MS Word的结果。
要打印SAS/GRAPH生成的图形,只要选“File | Print”。这样用Windows的打印驱动程序与SAS/GRAPH的图形驱动配合来打印。另外,SAS/GRAPH模块还提供了许多种打印机的独立的驱动程序,可以不依赖于Windows的打印驱动,具体请参考有关资料或帮助。
我们还可以设置这些Symbol是否用线连接起来,即INTERPOLATION=(I=)设置连接方式,以及WIDTH=(W=)设置线的宽度。
symbol1 c=red h=2 v=# i=sm50s w=2;
symbol2 c=blue h=3 v=diamond i=splines w=2.5;
二. Proc gchart命令
SAS proc gchart命令可以做九种图,分别是:block(方块图)、hbar(水平条图)、hbar3d(3d水平条图)、vbar(垂直条图)、vbar3d(3d垂直条图)、pie(饼图)、pie3d(3d饼图)、dount(环形图)、star(星形图)。我以绘制直方图为例:(参照《卫生统计学第5版》p27)
首先直方图是针对连续型变量而言的,说离散型变量(discrete variable)和连续性变量(continuous variable)是针对定量变量(quantitative variable)来说的。而定性变量(qualitativevariable)则是分为分类变量(catagorical variable)或名义变量(nominative variable)和有序变量(ordinal variable)或等级变量两种。
以绘制直方图为例,所用的gchart命令格式主要如下:
procgchart;
vbar x/type=freq space=0;
run;
tips:space必须标注为0,否则默认的条块间是有间隔的,就成了直条图了。直条图是针对离散型变量等的。
当然也可以用另一个命令语句来做直方图的,如下:
proccapability;
histogram x;
run;
tips:histogram只是proc capability;的一个option,所以proc capability;不能省。
现在说说个别proc gchart;vbar x下的option:
sumvar:用来计算数值型变量的sum和mean。当使用了sumvar时,type必须是sum或mean,默认情况下type=sum。
type:用来指定所做直方图的纵坐标。如果sumvar没有使用的话,可以指定以下任意值:freq(默认),cfreq(cumulativefrequency),percent pct(percentage),cpercent cpct(cumulative percentage);如果使用了sumvar,就只能使用sum(默认)和mean了。
midpoints:用来指定分段的组中值。对于数值型变量,即可以指定具体的值,也指定区间(指定区间的增量increment),或者两者可以合用。如:
n(1,2,3,...,n)
n1 to n2 (by increment)
(1,2,3,...,n) n1 to n2 (by increment) (n (1,2,...,n))
8 o0 t; x3 {: n6 z7 b欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) | Powered by Discuz! X2.5 |