gnuplot生存函数

时间:2012-08-07 19:00:44

标签: gnuplot

是否可以使用gnuplot的“累积”指令绘制生存函数。 生存函数我的意思是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;

但这不起作用,因为累积是作为最后一步执行的。 有什么指针吗?

感谢。

2 个答案:

答案 0 :(得分:0)

我找到了解决这个问题的黑客:

  1. 将聚合与-1
  2. 相乘
  3. 重新标记y轴以隐藏实际标签:
  4. 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;
    

答案 1 :(得分: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