使用绘图区域外的文本在循环中注释ggplot图形

时间:2014-05-11 19:55:49

标签: r ggplot2

我是一名非常大的项目的顾问,负责制作数百个关于使用R的各公司的可视化。要将可视化映射到我们自动化的报告中的位置,我需要注释可视化我通过在图像的右下角(绘图区域外)包括一个非常小的唯一标识符来产生。我已经尝试了几个注释函数并使用gridExtra包,但是注释永远不会在正确的位置结束,而gridExtra打破了我设置的循环。这是我目前运行的代码:

dataRaw<-read.csv("dataMaster.csv")
data1<-dataRaw[dataRaw$metric_name_official=="Projects on Budget",]
data2<-data1[data1$valueType=="actual value",]
peers<-unique(data2$companyPeerGroup)
data2$peerGroup<-for (i in peers){
  peerData<-subset(data2, companyPeerGroup==i)
  agencies<-unique(peerData$companyAbbr)
  for (i in companies){
    peerData$spotlightCompany<-i
    peerData$compName<-paste("Peer", peerData$companyCode)
    peerData$companyAbbr<-as.character(peerData$companyAbbr)
    peerData$spotlightCompany<-as.character(peerData$spotlightCompany)
    peerData$compName<-as.character(peerData$compName)
    peerData$compName[peerData$spotlightCompany==peerData$companyAbbr]<-       peerData$spotlightCompany[peerData$spotlightCompany==peerData$companyAbbr]
    ggplot(peerData, aes(x=timeframe, y=value, group=compName))+
      geom_line(color="dark gray", size=1, group=peerData$compName)+
      geom_line(data=peerData[peerData$compName==peerData$spotlightCompany,],      aes(x=timeframe, y=value), color="red", label=peerData$value, size=2,  group=peerData$compName)+
      scale_y_continuous(limits=c(0,1))+
      theme_classic(base_size = 12, base_family = "Helvetica")+
      ggtitle(paste(peerData$spotlightCompany, "Projects on Budget", sep=": "))+
      geom_point() 
   ggsave(paste(paste("C:/Users/jtexnl/", i, sep=""), "png", sep="."))
}
}

无论如何,简而言之,这就是我的问题。关于如何在图像的右下角获取一小段文本的任何建议?如果你建议使用gridExtra解决方案,那么这段代码会是什么样子?我尝试这样做最终打破了循环,但是我再次使用gridExtra并不是很精通。

谢谢!

约翰

0 个答案:

没有答案