1

由于没有使用注释,我一直无法找到一种合理的方法来防止barchartparm在 SAS 中使用 a 时我的 x 轴标签重叠。从文档中,他们明确指出条形图使用离散轴,并且不允许使用其他轴类型(例如时间)。尽管从概念上讲这是有道理的,但强制执行似乎是“不必要的”限制,因为它无法控制 x 轴标签,因为每个离散标签都将被打印。

样本数据:

data test;
  format rpt_date date9.;
  do rpt_date=date()-90 to date();
    root = round(ranuni(1) *100,1);
    output;
  end;
run;

定义图表模板:

proc template;
  define statgraph giddyup;
    begingraph;
        layout overlay; 
          barchartparm  x=rpt_date y=root ;
        endlayout;
    endgraph;
  end;
run;

创建图表:

proc sgrender data=test template=giddyup;
run;

结果:

结果

我试着用胶带把它粘起来,并为 x 轴创建一个自定义格式,它会“删除”许多值,虽然图表是制作的,但它将所有的空白堆叠在一起(??)并且还制作了一个警告。

我也尝试过使用备用x2axisopts并将轴设置为次要但没有运气。

如果我使用系列图表,我将能够很好地控制轴,但在我的情况下,数据更容易解释为条形图。也许他们需要xaxisopts为条形图添加额外的选项。

这里最令人沮丧的是,这是你可以在 2 秒内在 excel 中完成的事情,在我看来,这将是 excel 中非常常见的图表,在 SAS 中不容易重现!

编辑:我也不想使用proc gchart.

4

1 回答 1

1

好吧,现在我觉得很傻。事实证明,直方图可以很好地实现相同的结果:

histogramparm x=rpt_date y=root ;

我想这仍然是一个有价值的问题,因为我花了很多时间在谷歌上搜索答案并且找不到解决方案。

结果

还好我不希望它水平...

于 2014-08-27T21:17:48.210 回答