如何更改SAS sgplot refline标签方向

时间:2017-11-15 16:28:08

标签: sas

我正在使用SGPLOT在SAS中绘图。我在x轴上添加了一些重新标注以标记某些日期,但是这些重新标注的标签变为垂直,如here所示。只有三个转换,标签是我希望的水平。但是,当我添加更多reflines时,标签变为垂直。

有没有办法改变标签的方向?或者只是因为没有足够的空间......

这是我的refline代码:

refline '01Jul2002'd / axis=x label = "[1]" 
labelloc=outside labelpos=max labelattrs=(size=6.5pt family="arial")

2 个答案:

答案 0 :(得分:0)

SAS正在自动旋转它们以试图适应"他们(或表明他们在视觉上重叠),很可能。使用Reeza的例子,重现这一点很简单。

proc sgplot data=sashelp.stocks(where=(stock='IBM'));
series x=date y=open;
refline '01Jul2002'd / axis=x label = "[1]" 
labelloc=outside labelpos=max labelattrs=(size=6.5pt family="arial");
refline '02Jul2002'd / axis=x label = "[2]" 
labelloc=outside labelpos=max labelattrs=(size=6.5pt family="arial");
run;

只有一个,它是水平的,但第二个引起旋转。

除了参考线较少以外,我还没有找到解决此问题的方法,因此标签不会尝试重叠。 SGPLOT和GTL似乎都没有为参考线图提供选项(通常命名为FITPOLICY)。你可以使用一种不同的绘图,我想这可能会给你更多的选择,或者使用注释而不是参考线(它可以完全使用Annotation复制参考线,refline图本身只是一个方便的避免使用Annotate工具。)

您可能需要考虑在http://communities.sas.com上询问此问题并查看其中一位开发人员(Sanjay,Dan H等)是否有解决方法或可以建议除注释之外的其他内容。如果你这样做,我建议你包括一个像上面这样的例子,所以问题很清楚。

答案 1 :(得分:-1)

我无法复制你的问题。这段代码不会复制您的问题。这意味着要么您在其他地方设置了导致此问题的其他内容,要么您可能正在使用其他版本。我在SAS 9.4 TS1M3上。将来请包含代码,以便我们可以复制您的问题。

proc sgplot data=sashelp.stocks(where=(stock='IBM'));
series x=date y=open;
refline '01Jul2002'd / axis=x label = "[1]" 
labelloc=outside labelpos=max labelattrs=(size=6.5pt family="arial");
run;