在gnuplot中使用具有多个列的文件的单个记录

时间:2014-03-24 20:49:24

标签: gnuplot

假设我将以下数据存储在文件'file'中(令人兴奋!):

a_0 a_1 a_2 a_3
b_0 b_1 b_2 b_3
...

以及给定的函数f。 我想一个接一个地绘制几个图,每个图包含(x,y)坐标中的单个点:a_2,f(a_2),然后是b_2,f(b_2)等。

我想使用仅限gnuplot的解决方案(我认为必须有一个,但我找不到它!)。

我正在寻找类似的东西:

plot 'file' every ::0::0: using ($2):(f($2))
pause -1
plot 'file' every ::1::1: using ($2):(f($2))
...

我似乎做了太复杂的事情......感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

以下对我来说很好。获取数据文件file

0 1 2 3 4 
5 6 7 8 9

然后使用:

f(x) = x**2
plot 'file' every ::0::0 using 3:(f($3))

(2, 4)给我一个点。对于自动迭代使用,例如

stats 'file' using 0 nooutput
do for [i=0:int(STATS_records-1)] {
    plot 'file' every ::i::i using 3:(f($3))
    pause -1
}