【R言語】forで回して、do.call("grid.arrange")で複数グラフを表示、その後画像を保存。
forで回して、do.call("grid.arrange")で複数グラフを表示、その後画像を保存。
複数グラフの保存は以前と同じように リストにggplotオブジェクトをぶち込む。 do.callをそのまま変数に入れてggsaveで保存。
plots <- list() #リストを用意する i <- 1 df_iris <- iris varname_df <- names(iris) length(varname_df) #aes_stringを使用するとベクトルで軸を指定できる for(i in 1:(length(varname_df)-2)){ plots[[i]] <- ggplot(data = df_iris,aes_string(x = varname_df[i],y = varname_df[i+1],colour="Species"))+ geom_point()+ theme_bw()+ theme(text = element_text(size=8), axis.text.x = element_text(angle = 90, hjust = 1,vjust=0.5), axis.text.y = element_text(size=10), axis.title=element_text(size=10,face="bold")) } do.call("grid.arrange", c(plots, ncol=2)) p3 <- do.call("grid.arrange", c(plots, ncol=2)) ggsave("filename.jpg", p3)
こんな感じ。