数学建模社区-数学中国
标题: 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;
`( |* b% o% o9 Y, d
symbol语句的选项
y& @5 k, @$ p( T6 m' E4 F选项 | 意义 | 取值 | 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 =颜色 | 专指点的符号的颜色 | % b* a+ V$ s; ?1 J2 F7 L+ W, \6 q
| H = n<单位> | 指名符号的大小 | 单位有:cell, cm, pct, pt, in | POINTLABEL | 在点的附近表明Y轴变量的值 |
3 w& O. ?( F# z) y | i = 连线方式 | 指明连线的方式 | none, join, spline, needle | CI = 颜色 | 专指连线的颜色 |
9 A) X5 f }, z | L = n | n为线型的序号 | 0 – 空白线,1 - 实线,2 – 虚线 | W = n | n表示线的宽度 | - N, O# y5 N/ P) z8 M% o% Q. k! f
|
| | |
) G$ S! S i8 D" r! R
7 k( f h- @+ I5 |% f: u
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 | 竖立的三维条形图 |
( G" E% Z+ `+ [9 N& E& E9 u/ [ | 0 t" `9 @4 z; T
' J- D# I; h- K9 x |
9 L% @: Z V# J: s1 n, \2 V3. 三维曲面和等高线图
假设对一个二元函数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;


0 j% J! d7 r$ v. \
, p, i6 a7 h0 n" |: D( O
8 M/ v7 [/ N {% ~
| 欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) |
Powered by Discuz! X2.5 |