是否可以使用abline()并在x轴包含日期的图中添加垂直线?我尝试了很多可能的日期格式,但无法让它工作。
答案 0 :(得分:10)
是的,最简单的方法是向Date
提供abline
个对象:
x <- as.Date("2013-05-27")+0:99
y <- cumsum(rnorm(100))
plot(x,y)
abline(v=as.Date("2013-08-01"))
答案 1 :(得分:2)
时间序列图上的x轴(带有ts对象的plot.ts)是十进制形式。例如2016年第2季度,2016年将是2016.25
有一个包“lubridate”,它有一个函数(decimal_date()),它将POSIXct和Date日期转换为abline()接受的十进制形式。所以我把我希望在绘图上放置一条垂直线的日期放在日期表格中。然后我可以将它放入decimal_date函数并进入abline
install.packages("lubridate")
library(lubridate)
[YOUR PLOT CODE]
date1 <- ymd("2013-08-01")
abline(v=decimal_date(date1))
答案 2 :(得分:1)
添加到James的答案中,R中有不同的date/time formats。有时日期以POSIX格式存储,当您使用abline
绘制as.Date
时,日期不起作用。
在这种情况下,您必须使用
abline(v = as.POSIXct("2013-08-01"))