绘制gnuplot中不同文件的数据集的函数

时间:2012-08-24 21:16:30

标签: graphics gnuplot

我有几个具有类似数据的文件,我需要使用gnuplot进行绘图。

例如,我使用类似的东西绘制3个文件的第1个Vs第5列:

plot "file1.csv" using 1:5 title 'test 1' with lp, \
     "file2.csv" using 1:5 title 'test 2' with lp, \
     "file3.csv" using 1:5 title 'test 3' with lp

但是,我不知道如何绘制3个文件中的数据功能。举例来说,我想在前一个图中包含每个点3列的媒体(对于第i个数据点,它将是函数f(x1,x2,x3)=(x1(i)+x2(i)+x3(i))/3)。有可能吗?

2 个答案:

答案 0 :(得分:1)

这是一个常见问题,答案是:不直接来自gnuplot。但是,您可以调用外部工具为您进行数学计算。以下是一些其他示例的答案(您可以在此网站上搜索“gnuplot multiple files”以获取更多信息......):

Example 1

Example 2

答案 1 :(得分:1)

另一种可能性是使用Pyxplot绘图包http://pyxplot.org.uk,它具有与gnuplot类似的语法但已清理。 Pyxplot有一个插值命令(参见http://pyxplot.org.uk/current/doc/html/ex-interpolation.html),用于生成从文件中插入数据的函数,例如通过线性插值或样条拟合。

然后你可以做,例如:

interpolate linear file1() "file1.csv" using 1:5
interpolate linear file2() "file2.csv" using 1:5
interpolate linear file3() "file3.csv" using 1:5
plot file1(x) + file2(x) + file3(x)

我认为这正是你所寻找的。