在Gnuplot中调用数据列上的函数

时间:2011-06-08 23:04:31

标签: gnuplot

我有列格式的数据,我想制作第5列与前两列的对数的图。我试过了:

set pm3d map
splot "thing.file" u 1:2:log($5)

但是我收到了错误

undefined value

如何让gnuplot绘制其中一列数据的函数?

3 个答案:

答案 0 :(得分:30)

这有效:

splot "thing.file" u 1:2:(log($5)) 

通常,如果术语是由数据文件中的列函数而不是列本身定义的,则该术语周围需要有括号。

答案 1 :(得分:2)

要扩展解决方案,如果您的函数需要多个输入,则可以使用多个列: 例如:

plot "file" using 1:(x=$2, y=$3, f(x,y)) 

也有效。

答案 2 :(得分:-7)

取自gnuplot自己的FAQ,“Gnuplot已经并且是一个绘图程序,而不是数据处理或数学程序套件。因此gnuplot不能这样做。”。

您可以通过Octave或Matlab运行数据文件,以便在绘图之前生成日志文件。