【发布时间】:2020-08-04 12:14:17
【问题描述】:
我有时间序列数据,每个时间都有一个观察结果。我通过 R 的splinefun 运行它来为观察创建一个样条函数。我想使用stat_function 在ggplot2 中绘制这个样条函数。我希望我的绘图将日期/时间作为 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))
【问题讨论】:
标签: r function ggplot2 spline stat