最近出一张Figure时,统计师给了一个Comments:Is it possible to flip the graph over the x-axis?,具体是希望Figure输出时,Y轴的刻度反转。比方说,现在Y轴刻度是-50到50统计师希望是50到-50。我看了下当前的Figure输出,两个试验组线图主要集中在0轴下方,看起来可能不太美观。
实现坐标反转,很简单,一个坐标轴选项就可以控制:reverse = true
。该选项想效果,我用之前的折线图的代码进行举例。
***Get data for figure put;
data stocks2;
set sashelp.stocks(where=(date between "1jan02"d and "31dec02"d));
format date MONNAME3.;
run;
***Create figure template;
proc template;
define statgraph Seriesplot2;
begingraph;
layout overlay/
yaxisopts=(label="Close")
xaxisopts=(label="Month" type=discrete);
seriesplot y = close x = date / group = stock groupdisplay = cluster name = "Seriousplot";
endlayout;
endgraph;
end;
run;
***Render template;
proc sgrender data=stocks2 template=Seriesplot2;
run;
未使用revwese
选项的输出结果如下:

在Template过程步中的Y轴选项中,加入reverse = true
:
***Create figure template;
proc template;
define statgraph Seriesplot2;
begingraph;
layout overlay/
yaxisopts=(label="Close" reverse = true)
xaxisopts=(label="Month" type=discrete);
seriesplot y = close x = date / group = stock groupdisplay = cluster name = "Seriousplot";
endlayout;
endgraph;
end;
run;
加入反转选项后的,结果如下:

统计师只是希望这次Figure输出时Y轴反转,一般这个选项也不太会用到,就当是一个SAS小技巧的积累。如果不知道这个选项,通过Y轴坐标系数运算实现坐标反转也是可以的。不过,相应的选项还是方便快捷一点。
以上。
若有疑问,欢迎评论区留言讨论。
网友评论