使用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