SAS学习(2)——对proc步中绘制的plot进行修饰

在利用SAS进行分析时,proc步中的plots=options可以绘制不同图形,但是有时在proc步中绘制出来的图形都较为粗糙,还有一些细节需要进行修饰和调整,在这里可以使用的解决思路是:将proc步中生成的用于绘制图形的数据进行导出,再利用proc sgplot语句进行图形重绘和增添细节。

拿最近分析的数据举例(数据已进行过修改处理),利用PROC步进行分析,用plots=options得到下图,但是因为想要图片更细致更清楚,所以将绘制图示的数据进行导出,用proc sgplot进行绘制。proc步生成的图如下:

 假设需要这张图:横坐标调整为时间格式,并在横坐标上标注出2:00,5:00,8:00,20:00,23:00时间点(调整时间格式较为简单,使用format语句即可)。具体步骤如下:

1)首先导出绘制这个图形的数据,可以在proc 步前运行

ods trace on;

找到相应的数据,用output导出成数据集。

2)观察这个图的结构,由一条曲线,两条宽度不同的band和散点图构成,是一个复合图,根据导出的数据集的数据用proc sgplot进行绘制,具体代码和含义如下:

proc sgplot data=fitplot;
/*分别绘制两条band,分别加标签“95% Confidence Limits”和
“95% Prediction Limits”,fillattrs=设置清晰度,让这一个图的颜色与另一个区分开*/
band x=xgrid lower=lcmgrid upper=ucmgrid /
       legendlabel="95% Confidence Limits" name="band1";
band x=xgrid lower=lcigrid upper=ucigrid /
       fillattrs=(transparency=0.5)
       legendlabel="95% Prediction Limits" name="band2";

/*原始数据是5个时间段的数据,利用原始数据绘制散点图*/
scatter x=hour y=Observed;

/*中间的曲线绘制*/
series  x=xgrid y=ygrid;

/*设置标签的顺序以及位置,这里设置的是在
图外面(outside)居中(bottom,底部右侧是bottomright)*/
keylegend "band1" "band2" /location=outside
position=bottom;

/*为X轴和Y轴加标签*/
label xgrid='Time of day(hr)';
label ygrid='pg/ml';
label Hour='Time of day(hr)';

/*选择要标注的时间点*/
xaxis grid values=(2,5,8,20,23);

/*proc format里设置好的格式*/
format xgrid time_fmt. Hour time_fmt.;
run;

再次运行代码,得到的结果就是下图啦

还有更多的细节都可以在proc sgplot上进行修改。

将自己在学习SAS过程中遇到的问题和最后使用的解决方法记录下来,如果有错漏或者更好的解决方法欢迎大家一起讨论哦~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小熊小熊没有四点水

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值