带日期轴的ggplot垂直线

Ken*_*ams 10 datetime r ggplot2

当x轴是datetime(POSIXct)对象时,我在向绘图添加垂直线时遇到一些麻烦.似乎总是想把线放在大纪元.这是一个例子:

df <- data.frame(x=ymd('2011-01-01')+hours(0:24), y=runif(25))
ggplot(df, aes(x=x,y=y)) + geom_point()
Run Code Online (Sandbox Code Playgroud)

没有垂直线

现在我尝试在第三个观察时间添加一条线:

ggplot(df, aes(x=x,y=y)) + geom_point() + geom_vline(aes(x=df$x[3]))
Run Code Online (Sandbox Code Playgroud)

垂直线

我做错了什么?

And*_*rew 5

尝试这样做:

geom_vline(xintercept = df$x[3])
Run Code Online (Sandbox Code Playgroud)

  • 显然 ggplot 现在要求截距是数字而不是 POSIXct。这有效:`geom_vline(xintercept = as.numeric(df$x[3]))` (2认同)