数学建模社区-数学中国

标题: SAS绘图实例(手把手教你SAS绘图) [打印本页]

作者: 建模人生    时间: 2015-10-7 21:06
标题: SAS绘图实例(手把手教你SAS绘图)

1. 散点图和曲线图GPLOT过程

例1:绘制学生信息数据的散点图与曲线图。

proc gplot data=mylib.stu;

plot math*num[选项];

symbol color=red i=jion v=none;     /*绘图的颜色,是否连线,符号等属性*/

run;

' e9 h6 {# E! _7 B. u. _1 E& {& csymbol语句的选项
. t$ k; W6 o# J/ K
选项
意义
取值
V = 符号
表示点使用的符号
plus, x, star, square, diamond, triangle, hash, y, z, paw, point, dot, circle
C = 颜色
表示点的符号及连线的颜色
black, red, green, blue, cyan, magenta, gray, pink, orange, brown, yellow
CV =颜色
专指点的符号的颜色

& t+ Z" v% n* k. U, v
H = n<单位>
指名符号的大小
单位有:cell, cm, pct, pt, in
POINTLABEL
在点的附近表明Y轴变量的值

0 i) u1 `9 W+ O- ~2 w
i = 连线方式
指明连线的方式
none, join, spline, needle
CI = 颜色
专指连线的颜色
# Q( ^7 E& F# S8 d, `- Z
L = n
n为线型的序号
0 – 空白线,1 - 实线,2 – 虚线
W = n
n表示线的宽度
3 L0 t: r: o8 w% n) ]$ ?
$ S6 `( H+ ^$ `. j6 o! [4 c

+ L+ z3 |9 C8 m  u( z" v' ^

2. 直方图和扇形图gchart过程

例2:绘制学生数学成绩直方图

proc gchart data=mylib.stu;

     vbar math;    /*说明分析变量用vbar*/

run;

如果把VBAR改成HBAR则条形方向变为横向。用GCHART绘制的直方图和在INSIGHT中绘制的直方图有所不同,它在横轴标的是区间的中点值,而在INSIGHT中横轴标的是区间的端点值。

例3:分别绘制男女学生数学成绩直方图

proc gchart data=mylib.stu;

     vbar math /group=sex;   

run;

例4:利用pie绘制表示频数的扇形图

proc gchart data=mylib.stu;

     pie sex /type=percent;    /*后面的type属性表示以百分数显示*/

run;
5:用block语句绘制三维直方图

proc gchart data=mylib.stu;

   block math /group=sex;

run;
GCHART过程可以使用的图形关键字及其所绘制的图形见下:
图形关键字
绘制的图形类型
图形关键字
绘制的图形类型
block
方块图
pie
饼形图
hbar
水平的条形图
pie3d
三维饼形图
hbar3d
水平的三维条形图
donut
环形图
vbar
竖立的条形图
star
星形图
vbar3d
竖立的三维条形图

- G7 g2 L0 g% }. r; m
- E/ A0 a) a: p% {4 I

( q1 Q* X1 A; _3 O1 p, t* V
5 f, n; d* j8 E) Y1 Q% J! x
3. 三维曲面和等高线图
  假设对一个二元函数z=f(x,y),我们有了x取等间隔值、y取等间隔值时z的值,这时我们可以用G3D过程绘制曲面图形,用GCONTOUR绘制曲面的等高线图。
例6:绘制一个二维正态分布曲面的图形,假设(X,Y)服从联合正态分布,其均值都是0,方差都为1,相关系数为r。
首先建立数据集:

data dnorm2;

r=0.5;

det=1-r*r;

do x=-3 to 3 by 0.3;

   do y=-3 to 3 by 0.3;

       z=1/(2*3.1415926*det)*exp(-0.5/det*(x*x+y*y-2*r*x*y));

         output;

      end;

end;

keep x y z;

run;
然后,我们就可以用G3D过程来绘制曲面图

proc g3d data=dnorm2;

   plot x*y=z;

   run;

用GCONTOUR过程可以绘制曲面对应的等高线图

proc gcontour data=dnorm2;

   plot x*y=z /nolegend autolabel;

   run;

8 K: \# \2 L4 Z( Z( f
7 b3 O1 o8 d7 q( a8 S

( u' R" ?+ G4 t7 W1 x




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5