gnuplot plot data from two files: in one x coordin

2019-01-22 14:51发布

问题:

I have two files: one with x coordinates, and other with y.

Is there a way to plot this two files in one graph using gnuplot? Or is there a way to concat row by row this two files?

Thanks

回答1:

There is not a way to plot the x coordinate from one file and the y coordinate from another natively in gnuplot.

If you use a bash-like shell, you can use the command

paste x_data.dat y_data.dat > xy_data.dat

to combine files row-by row. If you want to put this command into a gnuplot script, you can do so like this:

plot "<paste x_data.dat y_data.dat"


回答2:

There is an easier way to do what you ask, directly from within gnuplot. Try with:

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

If both files contain only one column, then the above command will print them one against the other.

The join command is also useful to perform arithmetic operations involving columns from different files; for example, if both files have two columns, then

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

will plot the first column of the first file against the sum between the second column of the first and second file.

The join command is part of the GNU core utilities. My Mac has them installed by default; I guess this is the case for most Linux systems. If you use Windows, have a look at GnuWin.

Source: the gnuplot mailing list (http://gnuplot.10905.n7.nabble.com/combining-data-from-different-input-files-td3528.html).