2016-04-25 512 views
1

我在數據集中的值是以十億爲單位,當我繪製數據時,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; 

編輯:加入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在圖片格式,如果你願意,或者只是在軸標籤。