私が持っています
FileSFC1:特定のデータが含まれています
FileSFC2:その他のデータが含まれています
ここで、FileSFC1の2番目の列をFileSFC2の2番目の列で分割し、この結果をプロットする必要があります。だから何かの形:
plot ( FileSFC1 using 1:1 / FileSFC2 using 1:1 ) * 100
したがって、基本的に、プロットは2つのファイルの列のパーセンテージになります。助けてください。
Gnuplotは、同じ「ファイル」またはデータストリームからのデータの列のみを操作できます。できることは、plot '< bash command'
構造を使用することです。 plot
への引数が<
で始まる場合、引数の残りの部分はbashコマンドとして解釈され、そのコマンドの出力がプロットされます。そう:
plot '< paste FileSFC1 FileSFC2' u (100*$2/$4)
これは、両方のファイルに2つの列があり、各ファイルの2番目の列のパーセンテージをプロットすることを前提としています。データ列を操作するための構文は、using
の引数を括弧で囲み、列番号の前にドル記号を付けることです。
アンディラスの答えはあなたが探しているものです。
この構成でそれを追加したかったので、bashのプロセス置換を使用することはできません<(
、これは残念です。ほとんどの場合、追加のストリーム歳差運動(行のgrepまたは削除など)を実行する必要があるためです。
このためには、この質問への答えが必要です Gnuplot and Bash process-substitution 、これをここで簡単に例示します:
# Will concatenante FileSFC1 with the first 200 lines of FileSFC2
plot '< exec bash -c "paste <(cat FileSFC1) <(head -n 200 FileSFC2)"' u (100*$2/$4)