让我们假设我有两个格式如下的文件:
x --- y
0 --- 2
1 --- 2.4
2 --- 3.6
y的值不同。
有没有办法绘制单个图形,对于每个x,两个文件之间的最大y值?
Dunno如果能很好地解释我的自我。
我正在尝试使用条件句,但我找不到任何可以在2个不同文件中搜索的表达式
答案 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')