web-dev-qa-db-ja.com

各点に線とラベルを付けてデータをプロットする方法は?

データを含むアーカイブ「curva-l」があります。

2.308E-05   5.397E-01     1.0E-09  
2.318E-05   5.224E-01     1.0E-08
2.426E-05   5.029E-01     1.0E-07 
4.012E-05   4.718E-01     1.0E-06
1.311E-04   4.155E-01     1.0E-05
3.751E-04   3.703E-01     1.0E-04
1.306E-03   3.197E-01     1.0E-03

最初の列は軸X、2番目の列はY、3番目の列は各ポイントの値です。この曲線を線でプロットし、各点にそれぞれの値のラベルを付けたいと思います。

Like this one

5
Danilo

それはあなたが持っているgnuplotのバージョンに依存します。
最初に使用できる多くの例[ 12 、...]があります。デモからインスピレーションを得てください。

表示した画像のスタイルはlinepointsで、キーワードwith labelを使用してラベルをプロットできます。
同じデータセットを2回印刷できます。1つはラインポイントを、もう1つはラベルを印刷します。

皮切りに

plot "data.dat" w linespoint , '' with labels

見てください。好みのオフセットを見つけたら、.
次のコード

set xlabel "My X Axes"
set ylabel "My Y Axes"
plot "data.dat" with  linespoint lw 2 pt 11 \
   , ''        with labels center offset 3.4,.5 notitle

あなたにこの画像を与えます

Plot of the code

2回目は、xrangeyrange...を変更して対数目盛を追加できます。

5
Hastur

または単一のコマンドで:

< /tmp/dat awk '{print $1,$2,$2,$3}' | feedgnuplot --domain --style 0 'with lines' --style 1 'with labels' --rangesize 1 2 --set 'logscale x' --set 'logscale y'
3
user529439