R 无法将标签正确添加到ggplot图列表中

R 无法将标签正确添加到ggplot图列表中,r,ggplot2,gridextra,geom-text,do.call,R,Ggplot2,Gridextra,Geom Text,Do.call,我正在尝试用ggplot组装一个多面板箱线图。 为了有一个总体结构,我将生成一个绘图列表并进行绘图。我还想为每个箱线图添加报告重要性组的字母。 除了所有的箱线图都显示了在循环的最后一次迭代中计算出的字母之外,一切都正常 我在下面发布了一个示例,其中我只是尝试添加报告循环迭代次数的字母,正如您所看到的,第一个循环不报告“Plot 1”,第二个循环不报告“Plot 2”,而是始终绘制第二个循环 我使用的代码如下: library(ggplot2) library(gridExtra) mydata

我正在尝试用ggplot组装一个多面板箱线图。 为了有一个总体结构,我将生成一个绘图列表并进行绘图。我还想为每个箱线图添加报告重要性组的字母。 除了所有的箱线图都显示了在循环的最后一次迭代中计算出的字母之外,一切都正常

我在下面发布了一个示例,其中我只是尝试添加报告循环迭代次数的字母,正如您所看到的,第一个循环不报告“Plot 1”,第二个循环不报告“Plot 2”,而是始终绘制第二个循环

我使用的代码如下:

library(ggplot2)
library(gridExtra)
mydata<-data.frame(values=c(1,4,5,6,4,2,4,7,3,4,5,6,4,4,2,1,3,6,4,1,2,5,4,3,4,2,1,3,4,2),group=c(rep("A",15),rep("B",15)))
mydata2<-data.frame(values=c(2,6,5,6,7,2,5,7,3,4,5,6,4,4,2,1,3,6,4,1,2,5,4,3,1,2,3,3,4,7),group=c(rep("A",15),rep("B",15)))
myp<-list()
for(aaa in 1:2)
{
if(aaa==1) mydata<-mydata else mydata<-mydata2
myp[[aaa]]<-ggplot(mydata, aes(x=group, y=values)) +
  geom_boxplot(outlier.shape=NA) + #avoid plotting outliers twice
  geom_jitter(position=position_jitter(width=.1, height=0)) +
  geom_text(aes(x=1, y=max(values)-0.05*max(values),label=paste("Plot",aaa))) +
  geom_text(aes(x=2, y=max(values)-0.05*max(values),label=paste("Plot",aaa)))
}
do.call(grid.arrange,myp)
库(ggplot2)
图书馆(gridExtra)

mydata我不完全确定
geom_text
会出什么问题,但如果您使用
annotate
(应该完全用于此目的),一切都会正常工作

for(aaa为1:2){
打印(aaa)
如果(aaa==1)df
for(aaa in 1:2){
  print(aaa)
  if(aaa==1) df<-mydata else df<-mydata2
  myp[[aaa]]<-ggplot(df, aes(x=group, y=values)) +
    geom_boxplot(outlier.shape=NA) + #avoid plotting outliers twice
    geom_jitter(position=position_jitter(width=.1, height=0)) +
    annotate("text", x=1, y=max(df$values)-0.05*max(df$values),label=paste("Plot",aaa)) +
    annotate("text", x=2, y=max(df$values)-0.05*max(df$values),label=paste("Plot",aaa))
}