x轴上两个日期之间的ggplot geom vline

ggplot geom vline between two dates on x axis

有没有办法在 x 轴上的两个日期之间放置 geomvline。例如下图中的红线。

我的数据如下所示,长度可以是动态的。

df <- data.frame(Date= seq(as.Date("2019-01-11"), as.Date("2019-01-20"), by="days")
,value = runif(10, 0, .99))

ggplot(data = df , aes(x = Date, y = value)) +geom_line()+
scale_x_date(date_labels= "%d-%b-%y",date_breaks  ="1 day")+
geom_vline(aes(xintercept=df[["Date"]][5]),linetype="dotted",col="blue", size=1.5)

我试过位置闪避

您可以以小数单位添加到日期:

library(ggplot2)
df <- data.frame(Date= seq(as.Date("2019-01-11"), as.Date("2019-01-20"), by="days")
                 ,value = runif(10, 0, .99))
ggplot(data = df , aes(x = Date, y = value)) +geom_line()+
  scale_x_date(date_labels= "%d-%b-%y",date_breaks  ="1 day")+
  geom_vline(aes(xintercept=df[["Date"]][5]),linetype="dotted",col="blue", size=1.5) +
  geom_vline(aes(xintercept=df[["Date"]][5]+.5),linetype="solid",col="pink", size=3)

reprex package (v0.2.1)

于 2019-02-22 创建