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

时间:2012-07-18 19:38:40

标签: unix plot gnuplot concat

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

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

由于

2 个答案:

答案 0 :(得分:14)

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

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

paste x_data.dat y_data.dat > xy_data.dat

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

plot "<paste x_data.dat y_data.dat"

答案 1 :(得分:4)

有一种更简单的方法可以直接从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 core utilities的一部分。我的Mac默认安装了它们;我想大多数Linux系统都是如此。如果您使用的是Windows,请查看GnuWin

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