对Gnuplot中的数据列调用函数

对Gnuplot中的数据列调用函数,gnuplot,Gnuplot,我有列格式的数据,我想对第五列和前两列的对数做一个splot。我试过: set pm3d map splot "thing.file" u 1:2:log($5) 但是我得到了错误 undefined value 如何让gnuplot绘制其中一列数据的函数?摘自gnuplot自己的“gnuplot过去是一个绘图程序,现在也是一个绘图程序,而不是一个数据处理或数学程序套件。因此gnuplot不能这样做。” 您可以通过Octave或Matlab运行数据文件,以在打印前生成日志文件。此功能: sp

我有列格式的数据,我想对第五列和前两列的对数做一个splot。我试过:

set pm3d map
splot "thing.file" u 1:2:log($5)
但是我得到了错误

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

摘自gnuplot自己的“gnuplot过去是一个绘图程序,现在也是一个绘图程序,而不是一个数据处理或数学程序套件。因此gnuplot不能这样做。”

您可以通过Octave或Matlab运行数据文件,以在打印前生成日志文件。

此功能:

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

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

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


同样有效

算出了:如果我输入:splot“thing.file”u1:2:(log($5)),它将在该列上运行函数。我想,一般来说,涉及列函数的表达式需要加括号。@Dan为什么不回答这个问题呢?我没有足够的声誉来回答我自己的问题,直到我发帖后8小时。给像我这样的人一个便条。在gnu绘图中,在编写函数时,不写x^y,而是写x**y。我犯了这个错误。
plot "file" using 1:(x=$2, y=$3, f(x,y))