I have a problem that I can't solve on my own, despite searching for a solution for a long time.
I prepare a chart from data and use facet_calendar.
df1 <- read.table(text = "DT odczyt.1 odczyt.2
'2023-08-14 00:00:00' 362 1.5
'2023-08-14 23:00:00' 633 4.3
'2023-08-15 05:00:00' 224 1.6
'2023-08-15 23:00:00' 445 5.6
'2023-08-16 00:00:00' 182 1.5
'2023-08-16 23:00:00' 493 4.3
'2023-08-17 05:00:00' 434 1.6
'2023-08-17 23:00:00' 485 5.6
'2023-08-18 00:00:00' 686 1.5
'2023-08-18 23:00:00' 487 6.8
'2023-08-19 00:00:00' 566 1.5
'2023-08-19 05:00:00' 278 7.9
'2023-08-19 17:00:00' 561 11.5
'2023-08-19 18:00:00' 365 8.5
'2023-08-19 22:00:00' 170 1.8
'2023-08-19 23:00:00' 456 6.6
'2023-08-20 00:00:00' 498 1.5
'2023-08-20 03:00:00' 961 1.54
'2023-08-20 05:00:00' 397 1.6
'2023-08-20 19:00:00' 532 6.6
'2023-08-20 23:00:00' 493 3.8
'2023-08-21 01:00:00' 441 9.2
'2023-08-21 07:00:00' 793 8.5
'2023-08-21 13:00:00' 395 5.5", header = TRUE) %>%
mutate (
DT = as.POSIXct(DT),
Rok = year (DT),
Msc = month (DT),
Godz = hour (DT),
Dzien = day (DT),
Date = as.Date (paste0 (Rok, "-", Msc, "-", Dzien))
)
ggplot (df1 %>% filter (Rok == 2023 & Msc == 8)) +
geom_col (aes (x = Godz, y = odczyt.1)) +
facet_calendar(~Date)
The actual data is more complicated and includes data from many years.
I would like to be able to control labels and set the month name to be presented as a full name (currently it is a 3-letter abbreviation)
Assuming you are using the facet_calendar
function from the sugrrants
package, if you check the ?facet_calendar
help page, you'll see it offers a format=
parameter. To get the full month name use
facet_calendar(~Date, format="%B %d")