2016-08-25 9 views
0

私は、同じグラフの2つのプロットをどこから描画したいのかという単一のファイルを持っています。私は2つのプロットのデータが分離されている場合、それを行う方法を知っていますが、各プロットのデータが他のプロットと散在しているときはどうすればいいですか?Gnuplot:データが散在している単一ファイルのいくつかのプロット

例は、ここでデータファイルである、最初の列はデータが属するプロットを表し、2番目と3番目の列は、x軸とy軸の値である:

# plotnum xaxis yaxis 
1 2 1 
2 3 2 
1 3 2 
2 5 4 

ここからIは、描画したいです2プロット、プロット1とプロット2、および第2プロットプロット(3,2)と(5,4)

プロットプロット(2,1)とプロットプロット(3,2)このようなeveryキーワードを使用することができ

答えて

1

:例えば::0::1について

plot 'test.dat' every ::0::1 using 2:3 w lp, '' every ::2::3 using 2:3 w lp 

(「ポイントインデックスは」ゼロベースである)、すなわち、1から点0を選択するgnuplotのを指示する最初の二つ

EDIT:最初の列場合 残りの二つの列が属するプロット決定する必要があり、一つの解決策は、プレフィルタファイルするために、このようなgawkのような外部のユーティリティに依存することである。

filter(fname, group)=sprintf("<gawk '$1==%d{print $2,$3}' %s", group, fname) 
plot filter('test.dat', 1) w l 

ここでもgawkは2番目と3番目の列だけをフィルタリングしているので、後でusingキーワードを使用する必要はありません。

+0

私はこのコードは0行1をとり、それを1つのプロット(行)に入れ、2行目と3行目を2番目のプロットに入れます。しかし、私はこのデータポイントがどのプロットに属しているかについて意思決定者として第一列の値を求めています。 たとえば、私の最初の行は(1,2,1)で、これは最初の行に属し、プロットする点は(2,1)であることを意味します。 – Ron

+0

ああ、私はあなたの質問を誤解しているに違いない - 私はそれに応じて答えを修正した... – ewcz

関連する問題