como mostrar o gráfico de timeseries do gnuplot a partir do log de alterações

1

Eu tenho um aplicativo que produz log assim:

14:48:16, 41.0
14:50:01, 40.0
14:54:01, 41.0
14:54:04, 40.0
14:55:10, 41.0
14:55:22, 40.0
15:00:13, 41.0
...

É hora atual e a temperatura medida. O aplicativo grava uma linha no arquivo de log quando a temperatura é alterada.

Eu quero plotar um gráfico de temperatura via gnuplot e eu tentei isso:

set xdata time
set timefmt "%H:%M:%S"
set yrange [30:50]
set xrange ["14:40":"16:50"]
plot 'temp.csv' using 1:2 with lines

Ele mostra um gráfico assim:

Maseuqueroqueaslinhassejamhorizontaiseformemumpassonomomentoemqueatemperaturamuda.Oresultadodeveparecercomalinhaazul:

Como posso forçar o gnuplot a fazer isso? Eu posso fazer isso vi o pré-processamento do log, mas eu quero fazer isso apenas via gnuplot apenas se possível.

    
por Zaboj Campula 20.02.2018 / 21:46

1 resposta

1

O Gnuplot tem muitos estilos que podem ser usados para exibir dados. A opção with lines conecta cada ponto de dados com linhas. É adequado para dados que variam suavemente.

Os dados que contêm a hora e o valor válidos desde esse momento até a próxima mudança podem ser plotados como um histograma. O Gnuplot plota um histograma se a opção with steps for especificada. Então o comando completo é

plot 'temp.csv' using 1:2 with steps

A documentação e os exemplos interessantes estão no link .

    
por 21.02.2018 / 07:30

Tags