我正在尝试生成一个 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实际的数据文件有更多用于其他图的列,因此我希望避免这种连接。如果有人有一个将两个文件分开的替代解决方案,我将非常感激。
谢谢你!
您可以使用该实用程序将这两个文件合并到一个虚构文件中paste。 gnuplot允许使用以下语法调用命令"<":
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)