como obter diferentes offset nos rótulos gnuplot

0

Eu encontrei uma maneira muito estranha de traçar linhas horizontais de valores com rótulos à esquerda ou à direita das linhas

Eu construo um arquivo de dados de entrada onde:

  • os valores da primeira coluna determinam a amplitude das linhas horizontais
  • os valores da segunda coluna são repetidos para desenhar as linhas horizontais
  • Eu coloquei os rótulos na 3ª e na 4ª coluna porque, como você verá abaixo, isso permite que eu decida onde colocar as etiquetas, à esquerda ou à direita das linhas
+---+-----------+-------+--------+
| 3 | -0.178110 |   130 |        |
| 4 | -0.178110 |       |        |
| 5 | -0.178110 |       |        |
empty line | 3 | -0.185959 | 129 | | | 4 | -0.185959 | | | | 5 | -0.185959 | | |
empty line | 3 | -0.188473 | | | | 4 | -0.188473 | | | | 5 | -0.188473 | x | 128 |
empty line | 3 | -0.208311 | 127 | | | 4 | -0.208311 | | | | 5 | -0.208311 | | | +---+-----------+-------+--------+

e depois usei

plot 'entrada' u 1: ($ 2 * 27.2114) w l notitle, \
 '' a cada 3 u 1: ($ 2 * 27.2114) :( x = 3? $ 3: 1/0) com rótulos fonte ", 8" offset -2, 0 notitle, \
 '' u 1: ($ 2 * 27.2114) :( x = 5? $ 4: 1/0) com rótulos fonte ", 8" deslocamento 2, 0 notitle

para discriminar onde plotar o rótulo à esquerda ou em.

Acho muito estranho, alguma dica para fazer isso de uma maneira mais elegante?

Obrigado antecipadamente

Lorenzo

    
por Lowrenzo 26.02.2016 / 13:37

1 resposta

0

Por que não usar every ? Isto permite fazê-lo sem qualquer modificação do arquivo de dados. Aqui um exemplo com dados gerados na mosca pelo gnuplot:

plot [-1.5:1.5] "+" u (sin(10*$1)):1 ev 4 w p, "+" u (sin(10*$1)):1:1 ev 8 w labels offset 5,0, "+" u (sin(10*$1)):1:1 ev 8::4 w labels offset -5
    
por 15.03.2016 / 15:49

Tags