This should do the trick for you:
library(dplyr)
library(ggplot2)
library(tibble)
library(lubridate)
df <- tribble(
~station, ~Time, ~Period, ~Value, ~Species,
"A1", '01:14:56', 'night', 0.548, 'Ciu',
"A1", '01:14:56', 'night', 0.429, 'Hut',
"A1", '01:14:56', 'night', 0.527, 'Sol',
"A1", '01:14:56', 'night', 0.369, 'Cau',
"A2", '14:25:02', 'day', 0.316, 'Cau',
"A2", '14:25:02', 'day', 0.254, 'Po',
"A2", '14:25:02', 'day', 0.264, 'Sol',
"A2", '14:25:02', 'day', 0.371, 'Ciu',
"A3", '09:17:29', 'night', 0.658, 'Sol',
"A3", '09:17:29', 'night', 0.458, 'Po',
"A3", '09:17:29', 'night', 0.613, 'Cau',
"A3", '09:17:29', 'night', 0.542, 'Hay',
"A4", '11:36:10', 'day', 0.367, 'Po',
"A4", '11:36:10', 'day', 0.325, 'Cau',
"A4", '11:36:10', 'day', 0.294, 'Ciu',
"A5", '05:42:48', 'night', 0.691, 'Sol',
"A5", '05:42:48', 'night', 0.784, 'Cau',
"A6", '21:03:51', 'night', 0.472, 'Sol',
"A6", '21:03:51', 'night', 0.502, 'Hay',
"A6", '21:03:51', 'night', 0.431, 'Hut',
"A7", '16:14:39', 'night', 0.326, 'Sol',
"A7", '16:14:39', 'night', 0.305, 'Ciu',
"A7", '16:14:39', 'night', 0.336, 'Cau',
"A7", '16:14:39', 'night', 0.285, 'Hut'
)
df %>%
mutate(
Time = as.POSIXct(strptime(Time, format = '%H:%M:%S'))
) %>%
ggplot(
aes(
x = Time,
y = Value,
color = Species,
group = Species
)
) +
geom_line() +
geom_point() +
scale_x_datetime(
labels = scales::date_format(format = '%H:%M'),
date_breaks = '1 hour'
)