2016-04-05 43 views
0

グループごとに散布図を作成しようとしています。以下の例では、(連続変数の)いくつかのデータポイントは、カテゴリ変数MAKEの間で共通です。したがって、データポイントがオーバーレイされ、グラフが両方の変数の存在を示すのか、まったく存在しないのかを識別しません。SGPLOT:散布図がグラフ上にデータ点を重ねて表示しています

GPLOTで使用できる方法と同じように、SGPLOTの手順で2つの異なる記号を使用することで回避する方法。 SGPLOTのサンプルコードは、私が使用:

proc sgplot data=sashelp.cars(where=(make in ('Dodge', 'Chrysler'))); 
scatter Y=mpg_city X=mpg_highway/group=make markerattrs=(symbol=plus); 
run; 

私は以下のコードが動作することを知っているが、私はGPLOTの代わりにSGPLOTを使用したい:事前に

感謝を。

答えて

1

もちろん、1つのシンボルを使用しています。あなたはそれに言った!

どちらかあなたのMARKERATTR=(symbol=コードを削除するか、またはそれはあなたが、特に二つのマーカーを指定できるようにしたい場合は、そのように指定する変数または属性マップデータセット(DATTRMAP)から来ているMARKERCHARを使用しています。または、色を使用します。ここで

は、いくつかの例です:

*Using MARKERCHAR; 
data cars; 
    set sashelp.cars; 
    if make = 'Dodge' then marker_char = '+'; 
    else if make = 'Chrysler' then marker_char = 'o'; 
    else delete; 
run; 

proc sgplot data=cars(where=(make in ('Dodge', 'Chrysler'))); 
scatter Y=mpg_city X=mpg_highway/group=make markerchar=marker_char; 
run; 


*Using an attribute map (most similar to the GPLOT example); 
data attr_map; 
    length value markercolor $8; 
    id='MakeAttr'; 
    value = 'Dodge'; 
    markersymbol='plus'; 
    markercolor='green'; 
    output; 
    value='Chrysler'; 
    markersymbol='circle'; 
    markercolor='red'; 
    output; 
run; 


ods html style=htmlblue; 
proc sgplot data=sashelp.cars(where=(make in ('Dodge', 'Chrysler'))) dattrmap=attr_map; 
scatter Y=mpg_city X=mpg_highway/group=make attrid=MakeAttr; 
run; 
関連する問題