带日期轴的ggplot垂直线

时间:2012-02-23 22:31:30

标签: r datetime ggplot2

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

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

without vertical line

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

ggplot(df, aes(x=x,y=y)) + geom_point() + geom_vline(aes(x=df$x[3]))

with vertical line

我做错了什么?

2 个答案:

答案 0 :(得分:3)

尝试这样做:

geom_vline(xintercept = df$x[3])

答案 1 :(得分:1)

ggplot(df, aes(x=x,y=y)) + geom_point() + geom_vline(aes(xintercept=df$x[3]))

您希望xintercept x中有geom_vline而不是aes