这个问题可能是因为 x 轴被设置成离散型,因此需要使用scale_x_date()
来将其转换成日期型。具体的代码示例如下:
library(ggplot2)
library(lubridate)
# 生成数据
df <- data.frame(
date = seq(as.Date("2021-01-01"), as.Date("2021-01-10"), by = "day"),
value = rnorm(10)
)
# 画图
p <- ggplot(df, aes(x = date, y = value)) +
geom_line() +
scale_x_date()
# 添加矩形
p + geom_vrect(xmin = as.Date("2021-01-02"), xmax = as.Date("2021-01-04"), ymin = -Inf, ymax = Inf, fill = "grey", alpha = 0.2)