Gnuplot の使用は、単一のファイル/ストリームからデータを読み取ることを意図しているため、2 つのファイルを何らかの方法でマージする必要があります。これは、ほぼすべてのツールの頼りになるツールであるため、これを使用python
します。2 つのファイルから読み取り、データを標準出力に書き込むスクリプトを作成します。何かのようなもの:
#merge.py
import sys
file1,scale_factor_file = sys.argv[1:]
#Read the scale factors into a dictionary
d = {}
with open(scale_factor_file) as sf:
for line in sf:
key,scale_factor = line.split()
d[key] = float(scale_factor)
#Now open the other file, scaling as we go:
with open(file1) as fin:
for line in fin:
key,value = line.split()
print key,float(value)/d.get(key,1.0)
gnuplot のパイプから読み取る機能を使用して、データをプロットできます。
plot '< python merge.py datafile file_with_scale_factors' using 2