Como plotar dados com linhas e rótulos em cada ponto?

4

Eu tenho um arquivo "curva-l" com os dados:

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

A primeira coluna é o eixo X, o segundo Y e o terceiro é o valor de cada ponto. Eu gostaria de traçar esta curva com linhas e rotular cada ponto com o seu respectivo valor. Alguém pode me ajudar?

    
por Danilo 06.11.2015 / 18:52

2 respostas

4

Depende da versão do gnuplot que você tem.
Há muitos exemplos [ 1 , 2 , ... você pode começar com. Inspire-se nas demos.

O estilo da imagem que você mostra é linepoints e você pode plotar os rótulos com a palavra-chave with label .
Você pode imprimir 2 vezes o mesmo conjunto de dados, um com os pontos de linha e o segundo com os rótulos.

Comece com

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

e dê uma olhada. Depois de encontrar o deslocamento que você preferir.
O seguinte código

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

dá a você essa imagem

Em uma segunda vez, você pode modificar a escala logarítmica xrange , yrange ... add ...

    
por 11.11.2015 / 18:29
2

Ou em um único comando:

< /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'
    
por 03.12.2015 / 23:21

Tags