gnuplot - existe uma maneira de fazer uma plotagem ao vivo de 1 variável exibir o valor mais recente com um rótulo?

0

Estou usando um sistema de registro de dados que adiciona um valor a um arquivo de dados chamado today.dat a cada 2 minutos.

Veja como são os dados:

Aquiestáoprogramadognuplotqueeuuso,ondeXétempoeYétensão.Tambémdesenhaalgumaslinhasmostrandovalorescríticosconstantes:

Vocênotaráqueeuusoosdoiscomandosaseguirapósocomandoplot:

pause30reread

Issofazatramaviveremostraleiturasdetensãonobancodebateriasdaminhaestaçãodeenergiasolarquandoelaschegam.

Oenredofuncionamuitobem.Eleatualizaautomaticamenteparaqueatelaestejaquaseemtemporeal.

Aquiestáumexemplo:

ASSIM A MINHA PERGUNTA É:

Existe uma maneira de ter uma caixa de texto na tela mostrando apenas a leitura de voltagem mais recente à medida que o gráfico é atualizado?

    
por SDsolar 02.07.2017 / 03:18

1 resposta

0

Esta é uma resposta muito útil, tirada do comentário do @ steeldriver acima.

Existe uma maneira de colocar um rótulo para a última entrada no gnuplot?

EXCERTO:

If you are on a unixoid system, you can use tail to extract the last line from the file and plot it separately in whatever way you desire. To give a simple example:

plot\
"data.dat" w l,\
"< tail -n 1 data.dat" u 1:2:2 w labels notitle

This will plot the whole of data.dat with lines and the last point with labels, with the label depicting the value.

posted by Wrzlprmft (Tip of the hat to you)

Não é bem o que eu esperava, mas definitivamente faz o trabalho. Eu tive que descobrir a coisa 1: 2: 2 e alterá-la para 2: ($ 3): 3

É o mesmo que o meu comando de enredo, mas eu faço um segundo gráfico com a terceira variável de rótulo.

Aqui está uma pergunta que explica porque:

Rotular pontos de dados individuais gnuplot

Esta é uma longa explicação que basicamente diz que é x: y: l

Explaining x:y:l -- x is the time, and y has ($3) because it is being used as the numeric value. l is just a literal of column 3. Hence 2:($3):3 for my example. notitle is there so it does not show up in the legend.

    
por 18.08.2017 / 09:16