R ggplot - тень между 2 горизонтальными линиями - PullRequest
0 голосов
/ 05 марта 2019

Я хотел бы закрасить 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")

Я получаю следующий график

введите описание изображения здесь

Я хотел бы заштриховать все оси X.Я не могу сделать это из-за того, что ось X является датой.У кого-нибудь есть идеи как это сделать?Заранее спасибо.

1 Ответ

0 голосов
/ 05 марта 2019

Я нашел ответ.Я заменяю функцию

geom_ribbon()

на функцию

annotate()
...