如何在SGPLOT的图例中组合散点和系列线?

时间:2015-03-31 14:58:16

标签: plot sas legend scatter-plot line-plot

我想使用PROC SGPLOT作为散点图来呈现数据,其中误差条由一条线连接,并且图例使用scatter语句中的点和{{1声明。

以下是一些数据:

series

我想调整的代码:

data dat;
  input x y high low grp $;
  cards;
1 2.50 2.90 2.00 A
2 1.90 2.35 1.45 A
3 1.75 2.25 1.25 A
1 2.10 2.50 1.70 B
2 2.00 2.40 1.60 B
3 1.80 2.20 1.40 B
;
run;

当前输出:

enter image description here

我希望图例只包含proc sgplot data=dat; scatter x=x y=y / yerrorupper=high yerrorlower=low group=grp groupdisplay=cluster clusterwidth=0.1 markerattrs=(size=7 symbol=circlefilled); series x=x y=y / group=grp groupdisplay=cluster clusterwidth=0.1; xaxis label='Time' values=(1,2,3); yaxis label='Response' min=0 max=3.5; keylegend / location=inside position=topright title="Group"; run; A中的每个实例,并且符号位于图例中的线条顶部。我怎么能这样做?

1 个答案:

答案 0 :(得分:2)

将标记添加到SERIES图中,然后仅使用图例系列。

proc sgplot data=dat;
  scatter x=x y=y / yerrorupper=high yerrorlower=low group=grp
                    groupdisplay=cluster clusterwidth=0.1
                    name="scatter";
  series x=x y=y / markers markerattrs=(size=7 symbol=circlefilled)
                   group=grp groupdisplay=cluster clusterwidth=0.1 name="series";
  xaxis label='Time' values=(1,2,3);
  yaxis label='Response' min=0 max=3.5;
  keylegend "series" / location=inside position=topright title="Group";
run;

它产生了这个,我想你想要的是: enter image description here