Проблема с xrange в gnuplot 5.0.3 - PullRequest
0 голосов
/ 23 января 2020

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

01/01/2020 00:00 15 0 39
01/01/2020 00:01 3 4 64
01/01/2020 00:02 0 24 9
...
01/07/2020 11:53 13 0 0
01/07/2020 11:54 19 2 20
01/07/2020 11:55 2 0 2

Я пытаюсь построить его с помощью следующего кода:

set terminal x11 size 1900, 800
set term x11 1 noraise
set grid
set xlabel font "Times Roman, 22"
set xlabel "Date\nTime"
set xdata time
set timefmt "%m/%d/%Y %H:%M"
set xrange [ "01/01/2020 00:00" : "01/07/2020 11:55" ]
set format x "%m/%d\n%H:%M"
set xtics time
set y2label font "Times Roman, 22"
set y2label "Events"
set ytics 10
set y2tics 10
set key left top
plot './E3' using 0:3 with lines title "Delete" ls 15, './E3' using 0:4 with lines title "Failed" ls 4, './E3' using 0:5 with lines title "Update" ls 6
pause  -1

Когда я пытаюсь получить gnuplot для запуска вышеупомянутого он возвращает следующую ошибку:

plot './E3' using 0:3 with lines title "Delete" ls 15, './E3' using 0:4 with lines title "Failed" ls 4, './E3' using 0:5 with lines title "Update" ls 6

                                                    ^
"enum.gnu.1", line 18: all points y value undefined!

Комментирование установленного xrange устраняет ошибку. Тем не менее, на графике тики на оси х: 01/01 \ n00: 00, 01/01 \ n00: 15, ... 01: 01 \ n02: 45 - это не то, что я хочу. То, что я хочу, это иметь x ti c каждый день - что соответствует 1440 точкам данных - каждый ti c помечен датой и временем. Т.е. 01/01 \ n00: 00, 01/02 \ n00: 00, ... 01/07 \ n00: 00.

Что я делаю не так?

1 Ответ

0 голосов
/ 24 января 2020

Прежде всего, почему вы строите столбец 0 вместо 1? Далее данные / время подсчитываются внутри в секундах. Итак, если вы хотите один ti c каждый день, вы должны установить его на 60*60*24 секунд.

Если вы измените следующие строки, он должен работать:

set xtics 60*60*24 time

и

plot $Data using 1:3 with lines title "Delete" ls 15, \
     '' using 1:4 with lines title "Failed" ls 4, \
     '' using 1:5 with lines title "Update" ls 6
...