17

我有两个文件:一个带有 x 坐标,另一个带有 y。

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

谢谢

4

2 回答 2

17

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

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

paste x_data.dat y_data.dat > xy_data.dat

逐行合并文件。如果你想把这个命令放到一个 gnuplot 脚本中,你可以这样做:

plot "<paste x_data.dat y_data.dat"
于 2012-07-18T19:56:19.130 回答
9

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

plot "< join file1.dat file2.dat" using 1:2 with lines

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

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

plot "< join file1.dat file2.dat" using 1:($2+$4) with lines

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

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

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

于 2015-08-25T14:44:15.750 回答