0

我有几个需要使用 gnuplot 绘制的具有相似数据的文件。

例如,我使用这样的东西来绘制 3 个文件的第 1 列和第 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 列的媒体(这将是f(x1,x2,x3)=(x1(i)+x2(i)+x3(i))/3第 i 个数据点的函数)。是否可以?

4

2 回答 2

1

这是一个常见的问题,答案是:不直接来自 gnuplot。但是,您可以调用外部工具为您计算。以下是一些其他带有示例的答案(您可以在此站点中搜索“gnuplot 多个文件”以获取更多信息......):

示例 1

示例 2

于 2012-08-24T21:36:50.433 回答
1

另一种可能性是使用 Pyxplot 绘图包http://pyxplot.org.uk,它的语法与 gnuplot 相似,但已清理。Pyxplot 有一个 interpolate 命令(参见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)

我认为这正是您正在寻找的。

于 2012-08-29T23:27:08.450 回答