用SAS 产生 swimming plot

该文描述了一种使用SAS编程语言创建Swimlane图的方法,特别是在研究数据中,通过highlowplot语句定义x轴的时间范围(由low至high),并按y轴的subject值从长到短排列。图形包括不同类型的事件表示,如PR、SD和PD,且Y轴的值通过自定义format来决定泳道的顺序。
摘要由CSDN通过智能技术生成

1、横坐标 study day,纵坐标 subject,顺序按照泳道从长到短排列。

2、proc template或者proc sgplot都可产生,此处主要用到 highlowplot 语句。high用来定义在x轴的结束时间,low用来定义x轴的开始时间(一般为1,默认从Day1开始)。y轴一般是根据排序自定义的变量(下文中使用yaxia1)。

注意:由于我是想从长到短排列,那对于y轴的值需要自己定义format。例如yaxia1=1对应的人时间最短,yaxia1=20对应的人时间最长。

proc template;
  define statgraph swim;
    begingraph / designwidth=2000px designheight=1400px border= false;
    entrytitle halign=left ""/  textattrs=(size=8 family="Simsun" weight=GraphLabelText:FontWeight) ;
      layout overlay / yaxisopts=(offsetmin=0.02
                                  linearopts=(viewmax=20 viewmin=0 tickvaluesequence=(start=1 end=20 increment=1))
                                  label="Subjects" labelattrs=(size=10) griddisplay=off 
                                  tickvalueattrs=(size=10) 
                                  display=(line label ticks tickvalues))
                       xaxisopts=(offsetmin=0.02 
                                  linearopts=(viewmax=421 viewmin=1 
                                    tickvaluesequence=(start=1 end=421 increment=63))
                                  label='Study Day' labelattrs=(size=10) griddisplay=off 
                                  tickvalueattrs=(size=10)
                                  display=(tickvalues ticks label line) );

     			highlowplot y=yaxis1 high=xen low=xst / group=trt01an grouporder=ascending name='d' outlineattrs=(pattern=solid) display=(outline fill )
                                                            type=bar barwidth=0.7;
                scatterplot y=yaxis1 x=pr /  markerattrs=(size=10 symbol=diamondFilled color=black) name="e" legendlabel='PR';
                scatterplot y=yaxis1 x=sd /  markerattrs=(size=10 symbol=SquareFilled color=blue) name="f" legendlabel='SD';
                scatterplot y=yaxis1 x=pd /  markerattrs=(size=10 symbol=trianglefilled color=red) name="g" legendlabel='PD';

                discretelegend  'e' 'f' 'g' / titleattrs=(size=8) valueattrs=(size=8)  border=false location=inside valign=0.98 halign=0.98 across=1;  

                discretelegend "d" / across=9 titleattrs=(size=8) valueattrs=(size=10)  border=false  location=outside;
      endlayout;
    endgraph;
  end;
run;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值