我想在一个循环中制作多个ggplot并将它们显示在一个图上。
for ( i in 1:8) {
g <- ggplot(data=mtcars, aes(x=hp, y=wt))+
geom_point()
print(g)
}
我想将以上图解安排在一页,4行和2列上。有谁知道这是怎么做到的吗?谢谢。
答案 0 :(得分:3)
您可以将所有图解保存在list
中,然后使用cowplot::plot_grid()
或gridExtra::marrangeGrob()
将它们放在一页或多页中
另请参阅:
Creating arbitrary panes in ggplot2(patchwork
,multipanelfigure
和egg
包)
library(tidyverse)
plot_lst <- list()
for (i in 1:8) {
g <- ggplot(data = mtcars, aes(x = hp, y = wt)) +
geom_point()
plot_lst[[i]] <- g
}
# Combine all plots
cowplot::plot_grid(plotlist = plot_lst, nrow = 4)
library(gridExtra)
ml1 <- marrangeGrob(plot_lst, nrow = 2, ncol = 2)
ml1
由reprex package(v0.2.1.9000)于2018-09-20创建
答案 1 :(得分:0)