0

gnuplot を使用してプロットする必要がある同様のデータを含むファイルがいくつかあります。

例として、次のようなものを使用して、3 つのファイルの 1 列目と 5 列目をプロットします。

plot "file1.csv" using 1:5 title 'test 1' with lp, \
     "file2.csv" using 1:5 title 'test 2' with lp, \
     "file3.csv" using 1:5 title 'test 3' with lp

しかし、3 つのファイルのデータの関数をプロットする方法がわかりません。例として、前のプロットに各ポイントの 3 つの列のメディアを含めたいと思います (これはf(x1,x2,x3)=(x1(i)+x2(i)+x3(i))/3i 番目のデータ ポイントの関数になります)。出来ますか?

4

2 に答える 2

1

これはよくある質問です。答えは、gnuplot 内から直接ではありません。ただし、外部ツールを呼び出して計算を行うことはできます。例を含む他のいくつかの回答を次に示します(このサイトで「gnuplot multiple files」を検索して詳細を確認できます...):

例 1

例 2

于 2012-08-24T21:36:50.433 に答える
1

もう 1 つの可能性は、gnuplot と同様の構文を持っていますがクリーンアップされた Pyxplot プロット パッケージhttp://pyxplot.org.ukを使用することです。Pyxplot には補間コマンド ( http://pyxplot.org.uk/current/doc/html/ex-interpolation.htmlを参照) があり、線形補間やスプライン フィットなどによってファイルからデータを補間する関数を生成します。

次に、たとえば次のことができます。

interpolate linear file1() "file1.csv" using 1:5
interpolate linear file2() "file2.csv" using 1:5
interpolate linear file3() "file3.csv" using 1:5
plot file1(x) + file2(x) + file3(x)

まさにあなたが探しているものだと思います。

于 2012-08-29T23:27:08.450 に答える