У меня есть проблема с отрицательным временем в gnuplot.
По сути, я хотел бы написать отрицательное время, например, как -00:01:00
, но gnuplot не интерпретирует его как -60
секунд, а как +60
секунд. Я могу как-то понять почему: потому что -00
часов равно +00
часам, а затем 01
минут считаются положительными.
Я что-то пропустил? Может быть, есть простое решение?
Дополнительные примеры приведены ниже. Давайте конвертируем несколько раз в формат %H:%M:%S
(на самом деле %tH:%tM:%tS
). Я в порядке со всеми строками, кроме строки 6. Строка 7 будет интерпретироваться как %tH:%tM
без секунд, поэтому -3660
секунд.
Код:
### negative times
reset session
$Data <<EOD
1 01:00:00
2 01:00:01
3 -01:00:00
4 -01:00:01
5 00:01:01
6 -00:01:01
7 -01:01
8 00:-01:-01
9 00:-01:01
EOD
myTimeFmt = "%tH:%tM:%tS"
set table $Test
plot $Data u 1:(strcol(2)):(timecolumn(2,myTimeFmt)) w table
unset table
print $Test
### end of code
Результат:
1 01:00:00 3600
2 01:00:01 3601
3 -01:00:00 -3600
4 -01:00:01 -3601
5 00:01:01 61
6 -00:01:01 61
7 -01:01 -3660
8 00:-01:-01 -61
9 00:-01:01 -61