次のgnuplot
コマンドを使用してプロットを作成しています。
#!/bin/bash
gnuplot << 'EOF'
set term postscript portrait color enhanced
set output 'out.ps'
plot 'data_file' u 3:2 w points , '' u 3:2:($4!=-3.60 ? $1:'aaa') w labels
EOF
data_file
このように見える場所:
O4 -1.20 -0.33 -5.20
O9.5 -1.10 -0.30 -3.60
B0 -1.08 -0.30 -3.25
B0.5 -1.00 -0.28 -2.60
B1.5 -0.90 -0.25 -2.10
B2.5 -0.80 -0.22 -1.50
B3 -0.69 -0.20 -1.10
gnuplotに、columnが等しいものを除いて、columnにある文字列ですべてのポイントにラベルを付けたいのですが、その場合はstringが必要です。私が得ているのは、データポイントがとして正しくラベル付けされているが、残りはまったくラベル付けされていないということです。1
4
-3.60
aaa
$4=-3.60
aaa
更新:gnuplotは、条件ステートメントを使用して数値1
をラベルとして表示することに問題はありません。つまり、任意の列ですが、課せられた条件に関して各ポイントのラベルとして正しく表示されます。つまり、この行には2
、条件ステートメントに関するポイントラベルとして列(数値)が表示されます。
plot 'data_file' u 3:2 w points , '' u 3:2:($4!=-3.60 ? $2:'aaa') w labels
更新2 :列全体をプロットする場合、つまり条件ステートメントを使用しない1
場合、ポイントラベルとして列をプロットすることにも問題はありません。つまり、この線は列(文字列)のすべてのポイントラベルを正しくプロットします。1
plot 'data_file' u 3:2 w points , '' u 3:2:1 w labels
したがって、明らかに問題は、文字列列と一緒に条件ステートメントを使用することにあります。別々に使用されるこれらのいずれも問題なく動作します。