1

Gnuplot in Action 本を読んでいたときに、「すべての」コマンドについて説明しているセクションに出くわしました。著者が使用するサンプル データは次のとおりです。

# time - value
0 100.03 # temperature
0 2.10 # pressure
1 100.26 # t
1 2.02 # p
2 101.34 # t
2 1.95 # p
3 102.41 # t
3 1.87 # p

そして、次のコマンドを使用して、温度とデータ (時間) の最初の列をプロットします。

plot "data" every 2 using 1:2 with lines

ファイル自体を操作せずに温度と圧力をプロットする方法はありますか? つまり、プロットの x データと y データに同じ列を使用することは可能ですか?

4

1 に答える 1

1

gnuplotは一度に1つの「レコード」を読み取るので、私がそれを行うことを知っている方法はありません。どのレコードを読み取るかをgnuplotに指示することはできますが、隣接するレコードを混合するようにgnuplotに指示する方法はありません(他のユーティリティに負担をかける以外に)。ただし、gnuplotは他のユーティリティの標準出力を読み取ることができるため、ディスク上にあるファイルをいじったり、一時ファイルを作成したりすることなく、これを行うことができます。awkを使用してそれを行う方法は次のとおりです。

#untested
plot '<awk "BEGIN{getline}{a=$2;getline; b=$2;    print a,b}" test.dat' u 1:2 w lines
#          #discard header #line1        #line2  #print mix

を使用するより簡単な方法があるかもしれませんがsed、私は私が知っsedているほどよくわかりませんawk、そしてこれはそれほど悪くはありません

于 2012-10-09T23:58:55.223 に答える