我似乎找不到解决我问题的方法。我正在绘制一段时间内水的理化特性。为了便于查看,我想更改每个夏天的背景颜色,图表跨度为3年。这是我目前的ggplot代码:
ggplot(aes(x = Date_terrain, y = MSS, color = Num_cours, group = Num_cours), data = data.MSS) +
geom_point() +
geom_line() +
scale_x_date(date_breaks = "6 month",
labels=date_format("%d-%m-%Y"),
limits = as.Date(c('2016-06-01','2018-10-01')))
虽然没有改进,但效果很好,但是我似乎无法弄清楚如何进行更改。我尝试了geom_rect
s,但只收到错误消息。
我希望每个6月21日至9月22日这段时间的背景都变灰。
可以让我知道什么功能最适合吗?
非常感谢您。
dput:
structure(list(Date_terrain = structure(c(3L, 5L, 7L, 6L, 11L,
4L, 7L, 6L, 10L, 4L, 2L, 8L, 10L, 4L, 2L, 6L, 11L, 4L, 2L, 6L,
11L, 4L, 2L, 6L, 10L, 4L, 2L, 6L, 11L, 4L, 2L, 9L, 10L, 4L, 2L,
8L, 9L, 9L, 8L, 8L, 1L, 1L, 1L), .Label = c("", "04-06-17", "04-08-16",
"07-09-16", "09-09-16", "11-07-18", "14-07-17", "18-07-18", "19-07-18",
"20-07-16", "21-07-16"), class = "factor"), MSS = c(0L, 1L, 9L,
-6L, 2L, 1L, 9L, -6L, 6L, 2L, 11L, -6L, 6L, 1L, 4L, 8L, 1L, 1L,
6L, -6L, 1L, 1L, 7L, 8L, 2L, 1L, 5L, -7L, 1L, 3L, 8L, -8L, 1L,
3L, 12L, -3L, -6L, -7L, -4L, -6L, NA, NA, NA)), row.names = c(NA,
43L), class = "data.frame")
当前图形:
答案 0 :(得分:0)
尝试代替geom_rect(),尝试:
... +
annotate("rect",
xmin=as.Date("2016-06-01"), #adjust date accordingly
xmax=as.Date("2018-10-01"), #adjust date accordingly
ymin=-Inf,
ymax=Inf,
fill="#FF000033") #set a transparent color so you can see the plot "behind" the rectangle