Plot 在两个文件之间执行数学运算后从两个文件打印数据

Plot 在两个文件之间执行数学运算后从两个文件打印数据,plot,gnuplot,Plot,Gnuplot,我有 文件FC1:包含某些数据 FileSFC2:包含一些其他数据 现在我需要做的是将FileSFC1的第二列与FileSFC2的第二列分开,然后绘制这个结果。所以某种形式: plot ( FileSFC1 using 1:1 / FileSFC2 using 1:1 ) * 100 因此,基本上,绘图是两个文件中列的百分比。请提供帮助。Gnuplot只能处理来自同一“文件”或数据流的数据列。您可以使用plot'newFileSFC plot '< paste FileSFC1 File

我有

文件FC1:包含某些数据
FileSFC2:包含一些其他数据

现在我需要做的是将FileSFC1的第二列与FileSFC2的第二列分开,然后绘制这个结果。所以某种形式:

plot ( FileSFC1 using 1:1 / FileSFC2 using 1:1 ) * 100

因此,基本上,绘图是两个文件中列的百分比。请提供帮助。

Gnuplot只能处理来自同一“文件”或数据流的数据列。您可以使用
plot'
构造。当
plot
的参数以
开头时,Andyras的答案就是您要寻找的答案


我只是想补充一点,在这个构造中,您不能使用bash的进程替换
Dear@andyras。非常感谢您的回复。你能指导我吗?我可以创建一个新文件,包含第一个文件的前3列和第二个文件的前3列,然后从那里开始工作。因此,一些命令可以将$1、$2和$3的SFC1粘贴到一个新文件中,将$1、$2和$3的FileSFC2粘贴到同一个文件中,而这个新文件现在有6列?我问这个问题是因为在您的例子中,命令是
plot',而在我的例子中是--plot'100*
需要在括号内,以便gnuplot以您想要的方式使用它。按照现在的方式,gnuplot可能正在搜索不存在的第100列。要创建新文件,可以使用一个命令(在bash shell中)是
paste FileSFC1 FileSFC2 | awk'{print$1$2$3$10$11$12}>newFileSFC
plot '< paste FileSFC1 FileSFC2' u (100*$2/$4)
# Will concatenante FileSFC1 with the first 200 lines of FileSFC2
plot '< exec bash -c "paste <(cat FileSFC1) <(head -n 200 FileSFC2)"' u (100*$2/$4)