2016-04-25 14 views
1

データセットの値が10億であり、データをプロットしているときにY軸が実際の値ではなく2.0E7や2.0E8などで間隔を表示しています。指数スケールで表示するのではなく、尺度を「百万で」伝説に入れたいと思います。どうやってするか?SAS SGPLOT - Y軸を使用して間隔を調整する

proc sgplot data=t_analytics ; 
series x=year y=CC/markers datalabel; 
series x=year y=DC/markers datalabel y2axis; 
series x=year y=NC/markers datalabel y2axis; 
yaxis interval=auto grid logbase=10 ; 
xaxis display=(nolabel) ; 
run; 

CC、DC、NC値は数百万である。事前

答えて

2

おかげでプロットする前に1E6により分割し、軸ラベルに

data to_plot; 
set t_analytics; 
CC = CC/1e6; 
DC = DC/1e6; 
NC = NC/1e6; 
run; 

proc sgplot data=to_plot; 
series x=year y=CC/markers datalabel; 
series x=year y=DC/markers datalabel y2axis; 
series x=year y=NC/markers datalabel y2axis; 
yaxis interval=auto grid logbase=10 label="in Millions" logstyle=logexpand; 
xaxis display=(nolabel) ; 
run; 

EDITを調整します。値に指数が印刷されていないことを確認するためにlogstyle=logexpandを追加しました。デフォルトにする必要があります。

+0

これは完全に正常に機能しました。ありがとうございました –

1

これもフォーマットで入力できます。ピクチャフォーマットは乗算に非常に優れています。

data test; 
    do year=1995 to 2015; 
    cc = (year-1994)*1000000; 
    output; 
    end; 
run; 

proc format; 
    picture millionsF 
    0-high = '00' (mult=0.000001); 
quit; 


proc sgplot data=test; 
series x=year y=CC/markers datalabel; 
format CC millionsf.; 
xaxis display=(nolabel) ; 
yaxis interval=auto grid logbase=10 label='In Millions'; 
run; 

もちろん、あなたが好みなら画像形式でin millionsを置くか、単に軸ラベルで可能性があります。

関連する問題