У меня есть данные временных рядов с одним наблюдением в каждый соответствующий момент времени. Я запускаю его через R splinefun
, чтобы создать функцию сплайна для наблюдений. Я хотел бы построить эту функцию сплайна в ggplot2
, используя stat_function
. Я хотел бы, чтобы мой график имел дату / время в качестве оси X вместо индексированной по оси X оси. Достаточно сказать, что я пробовал много вещей, от редактирования результата splinefun
(чтобы заставить его работать с as.POSIXct) до бросания различной эстетики в команду ggplot.
Как получить дату / время по оси X?
Вот мой текущий сюжет:
Здесь представлены:
library(ggplot2)
DateTime <- seq.POSIXt(from = as.POSIXct('2020-01-10'),
to = as.POSIXct('2020-01-12'),
by = '1 hour')
set.seed(1)
y <- runif(length(DateTime), min = 0.5) * cos(as.numeric(DateTime))
df <- data.frame(DateTime = DateTime,
x = seq(1:length(DateTime)),
y = y)
myspline <- splinefun(df$x, df$y)
ggplot(mapping = aes(x=1:nrow(df))) +
stat_function(fun = myspline, size = 1, args = list(deriv = 0))