回答:
あなたはgnuplotからこれを行うことができます、あなたのデータを外部的に前処理する方が簡単かもしれませんが。
実際、これはデータを受け取り、結合されたデータを標準出力に書き込むスクリプトを使用してデータを外部で前処理するのと非常によく似ています。 gnuplotでパイプを使うための構文は、
plot " < program arguments"
私は通常そのような目的のためにAWKを使います。あなたの問題を解決するために、前処理スクリプトはどういうわけか2つのデータセットを内部で結合して、それから望ましい値を計算しなければなりません。 AWKでは、次のようにします。
{
if(secondfile)
print $1, $2, values[$1,$2]/$3
else
values[$1,$2]=$3
}
ENDFILE{secondfile=true}
最初のファイルの値はvalues配列に格納されます(secondfileはfalseです)。 ENDFILEパターンは、任意の(ここでは最初の)ファイルの最後に実行され、座標xとy、および分割された値( "x y value"列のデータ形式があると仮定)を印刷するようにメインルールの動作を切り替えます。 ENDFILEフックは現在のGAWK 4.0でサポートされています。
最後のplotコマンドは次のようになります。
plot "< awk '{if(secondfile) print $1, $2, values[$1,$2]/$3 ; else values[$1,$2]=$3} ENDFILE{secondfile=true}' file1 file2" using 1:2:3
(数量をどのように計算するかについては十分に理解していませんでしたが、同様の方法でそれを実行できます)。