1

「results.dat」と「grid.dat」の 2 つのファイルがあります。

results.dat には、行ごとに異なる y 値のデータ セットが含まれています。

1     325.5   875.4   658.7   365.5
2     587.5   987.5   478.6   658.5
3     987.1   542.6   986.2   458.7

grid.dat には、対応する x 値が含まれています。

1     100.0   200.0   300.0   400.0

gnuplot で grid.dat を x 値としてプロットし、results.dat の特定の行を対応する y 値としてプロットするにはどうすればよいですか? 例 3 行目:

1     100.0   987.1
2     200.0   542.6
3     300.0   986.2
4     400.0   458.7

前もって感謝します。

4

1 に答える 1

0

これは、最近の質問Gnuplot: plotting the maximum of two filesとよく似ています。あなたの場合、gnuplot だけでそれを行うこともできません。

たとえば、次のスクリプトを使用して、2 つのファイルをオンザフライで結合するには、外部ツールが必要ですpython(他のツールでも可能です)。

""" selectrow.py: Select a row from 'results.dat' and merge with 'grid.dat'."""
import numpy as np
import sys

line = int(sys.argv[1])       

A = np.loadtxt('grid.dat')
B = np.loadtxt('results.dat', skiprows=(line-1))[0]

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

そして、 with の 3 行目をプロットresults.datします

plot '< python selectrow.py 3' w l
于 2013-09-30T17:22:31.657 に答える