SAS参考线超过图表

时间:2015-01-13 06:57:06

标签: graph sas

我想绘制每日销售数字与每月的日期。

data _test3;
input day dailysales dow $5. weeklysales;
cards;
1 20.1 Mon 19.2
2 19.0 Tue 19.2
....
30 32.1 Tue 30.0
31 33.3  Wed 30.0
;
run;

如果没有分组dow(day of week),此代码可以正常运行

proc sgplot data=_test3 ;
vbar Day / response=DailySale barwidth=0.7 nooutline;
vline Day / response=WeeklySale;
keylegend / position=topright noborder autoitemsize;
xaxis display=(nolabel);
yaxis grid;
run;

这将每日平均销售数量作为条形参考线。

但是我需要不同的颜色来表示不同的一周。例如Sun上的红色和pink上的Mon

所以我调整了上面的代码。

proc sgplot data=_test3 ;
vbar Day / group = dow response=DailySale barwidth=0.7 nooutline;
vline Day / group = dow WeeklySale;
keylegend / position=topright noborder autoitemsize;
xaxis display=(nolabel);
yaxis grid;
run;

对于参考线(每周销售),我不想按dow对其进行分组。理想情况下,它应该是一条覆盖条形的黑线。但SAS必须将group保留在vline声明中。

1 个答案:

答案 0 :(得分:1)

您只能将一个变量分组用于汇总图(即,要求SAS汇总事物的图)。但是,你实际上并没有这里总结的情节,我不认为。您已经完成了工作(dailysales和weeklysales),只需要绘制它。因此,请使用图表的非汇总版本;那么你可以用分组做任何你想做的事。如果您确实仍有一些总结要做,请提前自行完成。

proc sgplot data=_test3 ;
  vbarparm category=Day response=DailySales/group=dow barwidth=0.7 nooutline;
  series x=day y=WeeklySales;
  keylegend / position=topright noborder autoitemsize;
  xaxis display=(nolabel);
  yaxis grid;
run;