使用ggplot2循环画图并存图。


CF <- split(JG,JG$itemID) #将数据框按题目分割,每个题目做一个图
for(i in 1:40){
  #i=4 ##############################  grid作图用
  TM <- as.data.frame(CF[i])
  colnames(TM) <- names(JG)  
  TM <- TM[,-1]
  tm <- as.data.frame(gather(TM,TM,value,-option)) ### 转数据
  tm[,2] <- as.numeric(tm[,2])                     ### 字符转数值
  tm[,3] <- as.numeric(tm[,3])
  B <- names(CF[i])
  dir<-paste("图片/",B,".png",sep = "")
  png(dir)
  #########  准备画图  #########
   p <- ggplot(tm,aes(TM,value,colour=option,linetype= option))+
    
    geom_text(aes(label= option))+
    
    geom_smooth(span=1,se=F)+ggtitle(B)+
    
    coord_cartesian(ylim = c(0,100)) +
    
    labs(y='Smoothed % Chosing',x='Criterion Score')+
    
    guides(colour= guide_legend(title = 'choice'),linetype = "none")+
    
    geom_vline(xintercept = c(0.6,0.8,0.9),linetype="dotdash")+theme_bw()
  
  print(p)
  dev.off()
}

将多个图合并

library(gridExtra)

grid.arrange(p, p2, p3, p4)

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM