1

gnuplot の「cumulative」ディレクティブを使用して生存関数を描画することは可能ですか。生存関数とは、1-CDF を意味します。次のように、「累積」を使用して CDF を描画できます。

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

私がやりたいことは、y軸に-1を掛け、オフセットを1だけ掛けることです。つまり

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

しかし、累積は最後のステップとして実行されるため、これは機能しません。ポインタはありますか?

ありがとう。

4

2 に答える 2

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;
于 2012-08-08T10:33:08.353 に答える
0

私はあなたが何を意味しているのか100%わかりませんが、あなたが使いたいのは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
于 2012-08-08T12:05:42.817 に答える