Я хочу построить метку (средняя температура и скорость ветра) на графике временных рядов. Моя попытка отлично работает с форматами времени по оси x. Но как только я хочу построить это таким образом, я получаю сообщение об ошибке:
Неверный ввод: time_trans работает только с объектами класса POSIXct
Пример:
library(ggplot2)
library(dplyr)
library(glue)
library(ggtext)
set.seed(1700)
df <- data.frame(Time = seq(as.POSIXct("2012-01-01"),
as.POSIXct("2012-01-02"),
by=(30*60)),
Temp = runif(49, min=10, max=15),
Windsp = runif(49, min=1, max=5),
Prec = runif(49, min=0, max=3))
df_label <- df %>%
summarize(Tmean = mean(Temp),
Ws_mean = mean(Windsp)) %>%
mutate(posx = 1, posy = 3,
label = glue("Tmean = {round(Tmean, 3)} °C <br> Ws_mean = {round(Ws_mean, 3)} m/s"))
ggplot(df, aes(x = Time, y = Prec)) +
geom_line(size = 1.5) +
scale_x_datetime(breaks = "2 hour",
minor_breaks = "1 hour",
date_labels = "%H:%M") +
scale_y_continuous(breaks=seq(0,3.5,0.5)) +
geom_richtext(
data = df_label,
aes(posx, posy, label = label),
hjust = 0, vjust = 0,
size = 3,
# remove label background and outline
fill = "white", label.color = "black")
Я точно уверен
posx = 1, posy = 4,
вызывает проблему, но я не знаю, как их заменить.