Gnuplot:将多个数据文件中的数据用于同一绘图线

con*_*sed 2 gnuplot

我正在尝试生成一个 gnuplot,它使用来自两个不同数据文件的数据来绘制同一条绘图线,如下所示:

plot 'datafile1.dat' using 1:($2/('datafile2.dat' using 2)
Run Code Online (Sandbox Code Playgroud)

即 x 轴:第 1 列datafile1.dat;y 轴:( 的第 2 列datafile1.dat)除以( 的第 2 列datafile2.dat

上面的语法显然是不正确的,但是有没有办法使用 gnuplot 来实现这一点?

输入数据集示例如下:(两个数据文件都有相似的数据集)

nSp   Kf  
10    523276.8  
50    6915841.1  
100   24736818.3  
500   622677171.35  
1000  2892599744  
...  
Run Code Online (Sandbox Code Playgroud)

我在网上读到的其他解决方案需要在使用绘图之前连接datafile1.dat和。datafile2.dat实际的数据文件有更多用于其他图的列,因此我希望避免这种连接。如果有人有一个将两个文件分开的替代解决方案,我将非常感激。

谢谢你!

gio*_*ano 6

您可以使用该实用程序将这两个文件合并到一个虚构文件中pastegnuplot允许使用以下语法调用命令"<"

plot "< paste datafile1.dat datafile2.dat" using 1:($2/$4)
Run Code Online (Sandbox Code Playgroud)

看这个例子

用这两个数据文件生成:

datafile1.dat

1   1
2   2
3   3
4   4
5   5
Run Code Online (Sandbox Code Playgroud)

datafile2.dat

1   3
2   6
3   5
4   4
5   7
Run Code Online (Sandbox Code Playgroud)