如何按高度而不是按字母顺序排列条形图的条形

时间:2017-09-11 05:25:43

标签: sas bar-chart

这是一个简单的数据集:

data dat;

  do i = 1 to 100;

     if      rand('unif') > 0.85 then txt = 'DEFG';
     else if rand('unif') > 0.75 then txt = 'ABC';
     else if rand('unif') > 0.80 then txt = 'KLMNOP';
     else                             txt = 'HIJ';

     output;
  end;

run;

我想创建一个显示txt

频率的条形图
proc sgplot data = dat;
/* Bars are ordered alphabetically */
   vbar txt;
run;

这会创建this image

我想要的是按高度(从左到右:HIJ,ABC,DEFG,KLMN)订购酒吧。

proc sgplot是否有选项可以实现这一目标?

1 个答案:

答案 0 :(得分:1)

您可以在vbar语句中添加 categoryorder 选项:

proc sgplot data = dat;
   vbar txt /categoryorder=respdesc ;
run; quit;

我在这里找到了它:http://blogs.sas.com/content/graphicallyspeaking/2012/06/07/bar-chart-with-response-sort/#prettyPhoto enter image description here