2


x --- y
0 --- 2
1 --- 2.4
2 --- 3.6のようにフォーマットされた 2 つのファイル
があるとします。これらは y の値が異なります。xごとに、2つのファイル間のyの最大値である単一のグラフをプロットする方法はありますか?

私の自己を十分に説明したかどうかはわかりません。

条件文を試してみましたが、2つの異なるファイルを検索できる式が見つかりませんでした

4

2 に答える 2

3

gnuplot だけでは、2 つ以上のファイルを 1 つのプロットに結合する方法はありません。これを行うには、コマンド ライン ユーティリティなどの外部ツールを使用する必要がありますpaste

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

y値は 2 列目と 4 列目に含まれています。

この次のバージョンでは、pythonスクリプトを使用し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')

プロットするには、次を使用します。

max(x, y) = (x > y ? x : y)
plot '< python paste.py fileA.txt fileB.txt' using 1:(max($2, $4))
于 2013-09-29T18:48:36.030 に答える