R ggplot-2条水平线之间的阴影

时间:2019-03-05 11:04:52

标签: r ggplot2 lubridate

我想在2条水平线之间加阴影。这是一个可重现的示例:

library(dplyr)
library(ggplot2) 
library(lubridate)

set.seed(10)
dat <- tibble(Month = seq(12), Year = 2018, N = rnorm(12))
N1 <- min(dat$N) + 1
N2 <- max(dat$N) - 1

MyPlot <- ggplot(data = dat, mapping = aes(x = as.Date(YearMonth), y = N)) +
      geom_point() +
      geom_ribbon(xmin = as.Date(-Inf, origin="1970-01-01"), xmax = as.Date(Inf, origin="1970-01-01"),
                  ymin = N1, ymax = N2,
                  fill = "orange", alpha = 0.2
                  ) +
      scale_x_date(date_labels = "%B", breaks = "1 month") +
      theme(axis.text.x = element_text(angle=45, hjust = 1)) +
      labs(x = "Month")

print(MyPlot)

我得到警告:

Warning: Ignoring unknown parameters: xmin, xmax

此警告来自:

xmin = as.Date(-Inf, origin="1970-01-01"), xmax = as.Date(Inf, origin="1970-01-01")

我得到以下情节

enter image description here

我想在所有X轴上着色。由于X轴是日期,因此我无法执行此操作。有人对如何做有想法吗?预先感谢。

1 个答案:

答案 0 :(得分:0)

我找到了答案。我替换了功能

geom_ribbon()

通过功能

annotate()