Частота событий gnuplot с течением времени - PullRequest
0 голосов
/ 23 июня 2019

У меня есть вольер, и я собираю отметки времени с помощью камеры-детектора движения каждый раз, когда птица входит или уходит.Теперь у меня есть множество временных меток в формате:

2019-06-19-08:14:17
2019-06-19-08:16:59
2019-06-19-08:18:11
2019-06-19-08:20:44
2019-06-19-08:20:59
2019-06-19-08:25:33
2019-06-19-08:26:03
...

, превышающих 3 дня, и я хочу визуализировать «движение птиц» по дням, чтобы иметь возможность сказать: «О, при 2 o«Часы - это много птичьего трафика ...».

То, что я до сих пор пробовал, - довольно простой нефункциональный скрипт:

set terminal pngcairo size 800,400 enhanced font 'Verdana,10' linewidth 1
set output 'birds.png'
set xdata time
set timefmt "%Y-%m-%d-%H:%M:%S"
set format x "%H:%M"
set xtics nomirror rotate by -45 font 'Verdana-Bold,10'
set ytics font 'Verdana-Bold,10'
set xrange ["2019-06-19-08:14:17":"2019-06-23-18:27:17"]

plot 'events.log'

Я знаю, что это может быть связано с"Сглаживать частоту" и биннинг данных как-то, но я не могу понять, как это сделать.Есть идеи?

1 Ответ

1 голос
/ 23 июня 2019
set xdata time
set timefmt "%Y-%m-%d-%H:%M:%S"
set format x "%H:%M"
bin_width=120
bin(t) = (t - (int(t) % bin_width))
set boxwidth 100
plot [] [0:3] 'events.log' u (bin(timecolumn(1, "%Y-%m-%d-%H:%M:%S"))):(1.0) smooth freq with boxes

enter image description here

(решение найдено здесь )

...