我有几个具有类似数据的文件,我需要使用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
)。有可能吗?
答案 0 :(得分:1)
这是一个常见问题,答案是:不直接来自gnuplot。但是,您可以调用外部工具为您进行数学计算。以下是一些其他示例的答案(您可以在此网站上搜索“gnuplot multiple files”以获取更多信息......):
答案 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)
我认为这正是你所寻找的。 p>