2011-07-27 4 views
0

私はポイントとラベルを使用して約答えhereを見つけたが、それが唯一のラベルと1列のために働く、点と共に(x、y)をプロットするために、私は2gnuplot:各点以外に(x、y)座標をプロットすることは可能ですか?

を使用する必要があり、一方plot "data.txt" using ($1):($2):1:2 with labels, "data.txt" using 1:2の行に沿って何かが必要です($1):($2):1:2(x):(y)画像上の点の座標と1:2はラベルですが、有効な構文ではないので動作しません最初の値が正しい場所にプロットされます。

よく私はplot "data.txt" using ($1+2):($2+2):1 with labels, "data.txt" using ($1+10):($2+2):2 with labels, "data.txt" using 1:2のようなものを手動で設定することができますが、その醜い/低レベル/ハッキー/悪い/などです。

答えて

2

どのようにこれについて:それは何

set key off 
get_point(x,y) = sprintf("(%.0f,%.2f)", x, y) 
offset(y) = (y<0.5) ? (y - 0.05) : (y + 0.05) 

plot [-1:6] "-" u ($1):(offset($2)):(get_point($1, $2)) with labels, "-" u 1:2 w l 
0 0.20323 
1 0.19147 
2 0.50213 
3 0.17599 
4 0.07732 
5 0.66897 
e 
0 0.20323 
1 0.19147 
2 0.50213 
3 0.17599 
4 0.07732 
5 0.66897 
e 


簡単にあなたのx座標とy座標になります文字列を形成することができるget_pointマクロで。 offset機能は、ラベルを曲線から少し離れた位置に移動するだけです。これはデータが特定の形式(この場合はグローバル平均値0.5)の場合に便利です。
もちろん、プロットファイルにデータを格納する代わりにデータファイルを使用すると、スクリプトはより見た目がよくなります。

関連する問題