library(scales)
DT <- fread("D:/TEMP/stat_all.csv")
names(DT)
DT[, c("ShiftDate","StartTime" ,"EndTime", "Shift") := .(dmy(ShiftDate",dmy_hm(StartTime), dmy_hm(EndTime), as.factor(Shift) )]
ggplot(DT, aes(x=Shift, ymin = StartTime, ymax = EndTime,
colour = Shift, linewidth = I(20))) +
geom_linerange() +
coord_flip() + theme_bw()
```structure(list(ShiftDate = c("01-03-2025 0:00", "01-03-2025 0:00",
"01-03-2025 0:00", "01-03-2025 0:00", "01-03-2025 0:00", "01-03-2025 0:00",
"01-03-2025 0:00", "01-03-2025 0:00", "01-03-2025 0:00", "01-03-2025 0:00",
"01-03-2025 0:00", "01-03-2025 0:00", "01-03-2025 0:00", "01-03-2025 0:00",
"01-03-2025 0:00", "01-03-2025 0:00", "01-03-2025 0:00", "01-03-2025 0:00",
"01-03-2025 0:00", "01-03-2025 0:00", "01-03-2025 0:00", "01-03-2025 0:00",
"01-03-2025 0:00", "01-03-2025 0:00", "01-03-2025 0:00", "01-03-2025 0:00",
"01-03-2025 0:00", "01-03-2025 0:00", "01-03-2025 0:00", "01-03-2025 0:00",
"01-03-2025 0:00", "01-03-2025 0:00", "02-03-2025 0:00", "02-03-2025 0:00",
"02-03-2025 0:00", "02-03-2025 0:00", "02-03-2025 0:00", "02-03-2025 0:00",
"02-03-2025 0:00", "02-03-2025 0:00", "02-03-2025 0:00", "02-03-2025 0:00",
"02-03-2025 0:00", "02-03-2025 0:00", "02-03-2025 0:00", "02-03-2025 0:00",
"02-03-2025 0:00", "02-03-2025 0:00", "02-03-2025 0:00", "02-03-2025 0:00",
"02-03-2025 0:00", "02-03-2025 0:00", "02-03-2025 0:00", "02-03-2025 0:00",
"02-03-2025 0:00", "02-03-2025 0:00", "02-03-2025 0:00", "02-03-2025 0:00",
"02-03-2025 0:00", "02-03-2025 0:00", "02-03-2025 0:00", "02-03-2025 0:00",
"02-03-2025 0:00", "02-03-2025 0:00", "02-03-2025 0:00", "02-03-2025 0:00",
"02-03-2025 0:00", "02-03-2025 0:00", "02-03-2025 0:00", "02-03-2025 0:00",
"02-03-2025 0:00", "02-03-2025 0:00", "02-03-2025 0:00", "02-03-2025 0:00",
"02-03-2025 0:00", "03-03-2025 0:00", "03-03-2025 0:00", "03-03-2025 0:00",
"03-03-2025 0:00", "03-03-2025 0:00", "03-03-2025 0:00", "03-03-2025 0:00",
"03-03-2025 0:00", "03-03-2025 0:00", "03-03-2025 0:00", "03-03-2025 0:00",
"03-03-2025 0:00", "03-03-2025 0:00", "03-03-2025 0:00", "03-03-2025 0:00",
"03-03-2025 0:00", "03-03-2025 0:00", "03-03-2025 0:00", "03-03-2025 0:00",
"03-03-2025 0:00", "03-03-2025 0:00", "03-03-2025 0:00", "03-03-2025 0:00",
"03-03-2025 0:00", "03-03-2025 0:00"), Shift = c(1L, 2L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 2L, 3L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L), StartTime = c("01-03-2025 7:00", "01-03-2025 15:00", "01-03-2025 23:00",
"01-03-2025 23:47", "01-03-2025 23:51", "02-03-2025 0:08", "02-03-2025 0:09",
"02-03-2025 1:32", "02-03-2025 1:39", "02-03-2025 1:46", "02-03-2025 1:54",
"02-03-2025 1:59", "02-03-2025 2:27", "02-03-2025 2:28", "02-03-2025 2:31",
"02-03-2025 2:33", "02-03-2025 2:40", "02-03-2025 2:41", "02-03-2025 2:45",
"02-03-2025 2:46", "02-03-2025 3:02", "02-03-2025 3:44", "02-03-2025 4:37",
"02-03-2025 4:41", "02-03-2025 4:57", "02-03-2025 5:08", "02-03-2025 5:11",
"02-03-2025 5:17", "02-03-2025 5:31", "02-03-2025 6:12", "02-03-2025 6:18",
"02-03-2025 6:20", "02-03-2025 7:07", "02-03-2025 7:33", "02-03-2025 8:10",
"02-03-2025 8:11", "02-03-2025 8:26", "02-03-2025 8:43", "02-03-2025 8:53",
"02-03-2025 8:59", "02-03-2025 9:01", "02-03-2025 9:06", "02-03-2025 9:23",
"02-03-2025 9:24", "02-03-2025 9:33", "02-03-2025 9:39", "02-03-2025 10:05",
"02-03-2025 10:18", "02-03-2025 10:21", "02-03-2025 10:23", "02-03-2025 10:31",
"02-03-2025 10:50", "02-03-2025 10:58", "02-03-2025 11:34", "02-03-2025 12:05",
"02-03-2025 12:16", "02-03-2025 12:22", "02-03-2025 12:23", "02-03-2025 12:39",
"02-03-2025 13:05", "02-03-2025 13:09", "02-03-2025 13:12", "02-03-2025 13:24",
"02-03-2025 13:27", "02-03-2025 13:37", "02-03-2025 13:38", "02-03-2025 13:47",
"02-03-2025 13:55", "02-03-2025 13:59", "02-03-2025 14:01", "02-03-2025 14:07",
"02-03-2025 14:13", "02-03-2025 14:17", "02-03-2025 15:00", "02-03-2025 23:00",
"03-03-2025 7:00", "03-03-2025 15:00", "03-03-2025 15:20", "03-03-2025 16:14",
"03-03-2025 16:16", "03-03-2025 16:23", "03-03-2025 16:40", "03-03-2025 16:42",
"03-03-2025 16:47", "03-03-2025 17:22", "03-03-2025 17:25", "03-03-2025 17:46",
"03-03-2025 18:01", "03-03-2025 18:56", "03-03-2025 19:01", "03-03-2025 19:05",
"03-03-2025 19:09", "03-03-2025 19:29", "03-03-2025 19:33", "03-03-2025 19:38",
"03-03-2025 20:07", "03-03-2025 20:11", "03-03-2025 20:27", "03-03-2025 20:51",
"03-03-2025 20:57"), Duration = c(480, 480, 17.43, 4, 16.67,
1.17, 0.14, 0.66, 0.85, 0.62, 0.59, 0.66, 0.6, 0.84, 1.07, 1.21,
0.86, 0.67, 0.64, 1.39, 29.98, 0.55, 4, 16.36, 0.37, 0.77, 1.49,
0.78, 1.7, 0.56, 0.7, 0.57, 2.41, 0.98, 1.07, 0.85, 0.63, 0.57,
1.09, 0.76, 4.9, 16.75, 1.36, 0.02, 0.93, 5.58, 0.92, 1.74, 0.5,
0.7, 1.99, 1.36, 28.19, 1.52, 0.98, 0.97, 0.83, 0.74, 0.89, 0.91,
0.99, 0.78, 1.21, 1.26, 1.03, 5.62, 2.02, 1.39, 0.92, 1.9, 0.54,
1.47, 42.82, 480, 480, 480, 20.24, 0.26, 1.15, 6.53, 1.97, 0.9,
2.33, 0.74, 1.11, 1.86, 0.9, 30.01, 4.21, 3.85, 0.57, 1.25, 0.56,
0.52, 0.87, 4, 16.47, 0.1, 0.84, 0.93), EndTime = c("01-03-2025 15:00",
"01-03-2025 23:00", "01-03-2025 23:17", "01-03-2025 23:51", "02-03-2025 0:07",
"02-03-2025 0:09", "02-03-2025 0:09", "02-03-2025 1:32", "02-03-2025 1:39",
"02-03-2025 1:46", "02-03-2025 1:54", "02-03-2025 1:59", "02-03-2025 2:27",
"02-03-2025 2:28", "02-03-2025 2:32", "02-03-2025 2:34", "02-03-2025 2:40",
"02-03-2025 2:41", "02-03-2025 2:45", "02-03-2025 2:47", "02-03-2025 3:31",
"02-03-2025 3:44", "02-03-2025 4:41", "02-03-2025 4:57", "02-03-2025 4:57",
"02-03-2025 5:08", "02-03-2025 5:12", "02-03-2025 5:17", "02-03-2025 5:32",
"02-03-2025 6:12", "02-03-2025 6:18", "02-03-2025 6:20", "02-03-2025 7:09",
"02-03-2025 7:33", "02-03-2025 8:11", "02-03-2025 8:11", "02-03-2025 8:26",
"02-03-2025 8:43", "02-03-2025 8:54", "02-03-2025 8:59", "02-03-2025 9:05",
"02-03-2025 9:22", "02-03-2025 9:24", "02-03-2025 9:24", "02-03-2025 9:33",
"02-03-2025 9:44", "02-03-2025 10:05", "02-03-2025 10:19", "02-03-2025 10:21",
"02-03-2025 10:23", "02-03-2025 10:32", "02-03-2025 10:51", "02-03-2025 11:26",
"02-03-2025 11:35", "02-03-2025 12:05", "02-03-2025 12:16", "02-03-2025 12:22",
"02-03-2025 12:23", "02-03-2025 12:39", "02-03-2025 13:05", "02-03-2025 13:09",
"02-03-2025 13:12", "02-03-2025 13:25", "02-03-2025 13:28", "02-03-2025 13:38",
"02-03-2025 13:43", "02-03-2025 13:49", "02-03-2025 13:56", "02-03-2025 13:59",
"02-03-2025 14:02", "02-03-2025 14:07", "02-03-2025 14:14", "02-03-2025 14:59",
"02-03-2025 23:00", "03-03-2025 7:00", "03-03-2025 15:00", "03-03-2025 15:20",
"03-03-2025 15:20", "03-03-2025 16:15", "03-03-2025 16:22", "03-03-2025 16:24",
"03-03-2025 16:40", "03-03-2025 16:44", "03-03-2025 16:47", "03-03-2025 17:23",
"03-03-2025 17:26", "03-03-2025 17:46", "03-03-2025 18:31", "03-03-2025 19:00",
"03-03-2025 19:04", "03-03-2025 19:05", "03-03-2025 19:10", "03-03-2025 19:29",
"03-03-2025 19:33", "03-03-2025 19:38", "03-03-2025 20:11", "03-03-2025 20:27",
"03-03-2025 20:27", "03-03-2025 20:51", "03-03-2025 20:57")), row.names = c(NA,
-100L), class = c("data.table", "data.frame"), .internal.selfref = <pointer: 0x000001b4dd9dee80>)
I have not worked through all of your code but I think one problem is that you want
dmy_hm(ShiftDate)
giving you
DT[, c("ShiftDate","StartTime" ,"EndTime", "Shift") := .(dmy_hm(ShiftDate),dmy_hm(StartTime), dmy_hm(EndTime), as.factor(Shift) )]
Ah yes it seems to plot now.