2015-03-31 336 views
2

我想使用PROC SGPLOT作爲散點圖將誤差線連接起來,並且圖例使用scatter語句的點和series語句的線。如何在SGPLOT的圖例中結合散點和系列線?

這裏有一些數據:

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; 

我想調整的代碼:

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; 

電流輸出:

enter image description here

我想圖例至僅包括A和各一個實例以及圖例中的符號位於圖例中的最上方。我怎樣才能做到這一點?

回答

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

相關問題