如何在GGR中ggplot的最顶端插入注释?

如何在GGR中ggplot的最顶端插入注释?,r,dataframe,ggplot2,annotations,facet-wrap,R,Dataframe,Ggplot2,Annotations,Facet Wrap,我想在下面的ggplot的第一个facet上添加注释。现在,代码在所有面上绘制注释。不管怎样,向前看会很感激的 library(ggplot2) library(lubridate) set.seed(123) DF <- data.frame(Date = seq(as.Date("2001-01-01"), to = as.Date("2005-12-31"), by = "1 month"),

我想在下面的
ggplot
的第一个
facet
上添加
注释。现在,代码在所有
面上绘制
注释
。不管怎样,向前看会很感激的

library(ggplot2)
library(lubridate)

set.seed(123)

DF <- data.frame(Date = seq(as.Date("2001-01-01"), to = as.Date("2005-12-31"), by = "1 month"),
                  Ob = runif(60,1,5), L95 =runif(60, 0,4), U95 = runif(60,2,7), Sim = runif(60,1,5)) %>% 
      pivot_longer(names_to = "Variable", values_to = "Value", -Date)

ggplot(data = DF, aes(x = Date))+
  geom_line(aes(y = Value))+
  facet_wrap(~ Variable, scales = "free_y", nrow = 4)+
  geom_vline(xintercept = as.Date("2004-12-01"),color = "red", size = 1.30)+
  annotate(geom = "text", x = as.Date("2002-01-01"), y = 3, label = "Calibration")+
  annotate(geom = "text", x = as.Date("2005-06-01"), y = 3, label = "Validation")
库(ggplot2)
图书馆(lubridate)
种子集(123)
DF%
轴长(名称到=“变量”,值到=“值”,-Date)
ggplot(数据=DF,aes(x=日期))+
几何线(aes(y=值))+
端面包裹(~变量,scales=“free_y”,nrow=4)+
geom_vline(xintercept=截止日期(“2004-12-01”),color=“red”,size=1.30)+
注释(geom=“text”,x=截止日期(“2002-01-01”),y=3,label=“校准”)+
注释(geom=“text”,x=as.Date(“2005-06-01”),y=3,label=“Validation”)

您可以尝试使用
geom_text()
将数据坐标包装到镶嵌面的顶部:

输出:


您可以尝试使用
geom_text()
将数据坐标包装到镶嵌面的顶部:

输出:


您可以使用
geom\u text
执行此操作。为打印创建单独的数据框

library(ggplot2)

text_data <- data.frame(x = as.Date(c("2002-01-01", "2005-06-01")), 
                        y = 3.5, Variable = sort(unique(DF$Variable))[1], 
                        label = c("Calibration", "Validation"))

ggplot(data = DF, aes(x = Date))+
  geom_line(aes(y = Value))+
  facet_wrap(~ Variable, scales = "free_y", nrow = 4)+
  geom_vline(xintercept = as.Date("2004-12-01"),color = "red", size = 1.30) + 
  geom_text(data = text_data, aes(x, y, label = label), color = 'blue')
库(ggplot2)

text\u data您可以使用
geom\u text
执行此操作。为打印创建单独的数据框

library(ggplot2)

text_data <- data.frame(x = as.Date(c("2002-01-01", "2005-06-01")), 
                        y = 3.5, Variable = sort(unique(DF$Variable))[1], 
                        label = c("Calibration", "Validation"))

ggplot(data = DF, aes(x = Date))+
  geom_line(aes(y = Value))+
  facet_wrap(~ Variable, scales = "free_y", nrow = 4)+
  geom_vline(xintercept = as.Date("2004-12-01"),color = "red", size = 1.30) + 
  geom_text(data = text_data, aes(x, y, label = label), color = 'blue')
库(ggplot2)

text_data谢谢@Duck,我希望第一个
面上的
注释
而不是所有
面上的
注释。现在代码在所有四个
面上绘制
注释
校准
验证
文本应显示在顶部的
@Hydro Hi亲爱的。非常抱歉误解了任务。我以为你想在每个面上都贴上标签。现在,我已经更新了帖子。希望对你有用!谢谢@Duck,我想在第一个
面上添加
注释
,而不是在所有
面上。现在代码在所有四个
面上绘制
注释
校准
验证
文本应显示在顶部的
@Hydro Hi亲爱的。非常抱歉误解了任务。我以为你想在每个面上都贴上标签。现在,我已经更新了帖子。希望对你有用!嗨,Ronak,你能研究一下这个问题吗。谢谢Ronak,你能研究一下这个问题吗。谢谢