Como converter épocas em horas legíveis corretamente no gnuplot [closed]

2

Eu tenho o seguinte snippet para ter uma saída gráfica através do gnuplot.

set datafile separator ","

set title "Memory"
set xlabel "Values"
set ylabel "Date"
set ydata time
set timefmt "%H"
set format y "%d/%m/%Y"
set key left top
set grid

plot 'memory-memory-buffered_combined' using 0:2 titl "1" with lines,\
     'memory-memory-cached_combined' using 0:2 title "2" with lines
cat 
pause -1

No entanto, quando eu tenho o resultado, começa em 1970.

As primeiras 5 linhas do csv que estou lendo;

epoch,value
1478193413.596,72910
1478193473.412,134432
1478193413.158,65449
1478193411.929,60157

Então, na verdade, é novembro de 2016.

Qual parte do meu script deve ser diferente?

    
por Elesmoth 01.06.2017 / 22:43

1 resposta

1

Sua questão principal é que seus dados de horário estão na primeira coluna do arquivo, mas você deseja usá-los como dados y em vez de dados x. Então você precisa traçar using 2:1

A segunda questão é que o seu timefmt specifier precisa ser %s (época da época: este é o formato dos seus dados input ) em vez de %H .

Então

set datafile separator ","

set title "Memory"
set xlabel "Values"
set ylabel "Date"
set ydata time
set timefmt "%s"
set format y "%d/%m/%Y"
set key left top
set grid

plot 'data.csv' using 2:1 title "1" with lines

resultando em

    
por steeldriver 02.06.2017 / 14:52