数学建模社区-数学中国
标题: 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 |