2012-08-07 79 views
1

是否可以使用gnuplot的「累積」指令繪製生存函數。生存函數我的意思是1-CDF。我們可以使用「累積」繪製CDF如下gnuplot生存函數

plot 'datafile.dat' using <column with values>:(1./total number of values) smooth cumulative; 

我想要做的只是乘以-1 y軸什麼和1即

plot 'datafile.dat' using <column with values>:(1)-(1./total number of values) smooth cumulative; 

偏移但這不起作用因爲累積是作爲最後一步執行的。 任何指針?

謝謝。

+0

這有點讓人困惑,你實際上想要在這裏完成什麼。我敢打賭你可以用內聯函數來完成,但我不是100%確定的。 (如果沒有幫助,我會很樂意刪除我的答案)。 – mgilson 2012-08-08 15:23:18

回答

0

我發現一個黑客來解決這個問題:

  1. 乘以集合體-1
  2. 重新標註y軸隱藏實際的標籤:

set ytics ("1" 0, "0.75" -0.25, "0.5" -0.5, "0.25" -0.75,"0" -1) 
plot 'datafile.dat' using <column with values>:(-1./total number of values) smooth cumulative; 
0

我不是100%確定你的意思,但我認爲你想使用的是一個inline在gnuplot 4.4(?)中引入的函數。它的工作原理是這樣的:

cumm_sum=0.0 
nrec=0.0 
CDF(x)=(nrec=nrec+1, cumm_sum=cumm_sum+x, 1.-cumm_sum/nrec) 
plot 'datafile.dat' u (CDF($1)):2