Gnuplot:绘制最多两个文件

时间:2013-09-29 14:24:56

标签: max gnuplot multiple-files

让我们假设我有两个格式如下的文件:
x --- y
0 --- 2
1 --- 2.4
2 --- 3.6
y的值不同。 有没有办法绘制单个图形,对于每个x,两个文件之间的最大y值?

Dunno如果能很好地解释我的自我。

我正在尝试使用条件句,但我找不到任何可以在2个不同文件中搜索的表达式

1 个答案:

答案 0 :(得分:3)

无法仅使用gnuplot在单个绘图中组合两个或更多文件。您必须使用外部工具执行此操作,例如命令行实用程序paste

max(x, y) = (x > y ? x : y)
plot '< paste fileA.txt fileB.txt' using 1:(max($2, $4))

y值包含在第二列和第四列中。

下一个版本使用带有python的{​​{1}}脚本来连接文件,但任何其他脚本语言也会这样做:

numpy

要绘图,请使用:

"""paste.py: merge lines of two files."""
import numpy as np
import sys

if (len(sys.argv) < 3):
    raise RuntimeError('Need two files')

A = np.loadtxt(sys.argv[1])
B = np.loadtxt(sys.argv[2])

np.savetxt(sys.stdout, np.c_[A, B], delimiter='\t')