gnuplot绘制来自两个文件的数据:在一个x坐标中,在另一个y坐标中

san*_*ngi 14 unix plot concat gnuplot

我有两个文件:一个是x坐标,另一个是y.

有没有办法使用gnuplot在一个图中绘制这两个文件?或者有没有办法逐行连续这两个文件?

谢谢

and*_*ras 14

没有办法在gnuplot中绘制来自一个文件的x坐标和来自另一个文件的y坐标.

如果使用类似bash的shell,则可以使用该命令

paste x_data.dat y_data.dat > xy_data.dat
Run Code Online (Sandbox Code Playgroud)

逐行组合文件.如果要将此命令放入gnuplot脚本中,可以这样执行:

plot "<paste x_data.dat y_data.dat"
Run Code Online (Sandbox Code Playgroud)


Gui*_*ari 9

有一种更简单的方法可以直接从 gnuplot 中完成您的要求。尝试:

plot "< join file1.dat file2.dat" using 1:2 with lines
Run Code Online (Sandbox Code Playgroud)

如果两个文件都只包含一列,那么上面的命令会将它们一个一个地打印出来。

join命令还可用于执行涉及来自不同文件的列的算术运算;例如,如果两个文件都有两列,那么

plot "< join file1.dat file2.dat" using 1:($2+$4) with lines
Run Code Online (Sandbox Code Playgroud)

将根据第一个和第二个文件的第二列之间的总和绘制第一个文件的第一列。

join命令是GNU 核心实用程序的一部分。我的 Mac 默认安装了它们;我想这是大多数 Linux 系统的情况。如果您使用 Windows,请查看GnuWin

来源:gnuplot 邮件列表(http://gnuplot.10905.n7.nabble.com/combining-data-from-different-input-files-td3528.html)。