предложение Майкла О. использовать полную дату с указанием года, месяца, дня, возможно, является наиболее универсальным способом решения вашей темы.Однако, если вы не можете или не хотите изменять свои данные, вы можете использовать следующее:
Решение 1: добавить дополнительный день (или 86400 секунд), когда данные проходят «0000»
Решение 2: используйте первый столбец в качестве метки строки (ось X будет корректно масштабироваться, только если ваши временные шаги постоянны).Для забавы я добавил возможность отображать только часть меток.
### time "without" date
reset session
$Data <<EOD
1900 23
2000 22
2100 22
2200 22
2300 22
0000 22
0100 22
0200 21
0300 21
0400 21
0500 21
EOD
set multiplot layout 2,1
# solution 1: add extra day
set xdata time
set timefmt "%H%M"
set format x "%H%M"
extraday = 0
plot $Data u ($1==0000 ? extraday = extraday + 1 : 0, timecolumn(1)+extraday*86400):2 w lp lt 7 lc rgb "red" title "add extra day"
# solution 2: use timecolumn as xticlabel
Modulo(x,n) = x - floor(x/n)*n
plot $Data u 0:2:xticlabels(Modulo($1,200) == 0 ? stringcolumn(1) : "") w lp lt 7 lc rgb "green" title "timecolumn as xticlabel"
unset multiplot
### end of code
... приведет к: