在facet_grid()上使用lappy函数生成的多个GGPlot的网格布局

在facet_grid()上使用lappy函数生成的多个GGPlot的网格布局,r,ggplot2,R,Ggplot2,我有一个函数,可以使用facet\u grid自动生成一长串刻面GGPlot。现在,我想将这些平面图进一步“网格化”为3x5块,相当于字母大小的页面,以便它们可以作为物理参考材料。是否可以在ggplot中生成此类布局 [我希望没有必要为这个问题提供排斥。我相信问题很清楚,我不是在寻找直接的解决方案——简单地指出正确的方向或避开毫无意义的兔子洞将是有用的。]再次感谢@a.S.K。这个补丁包正是我所需要的 require(ggplot2) require(patchwork) # using la

我有一个函数,可以使用
facet\u grid
自动生成一长串刻面GGPlot。现在,我想将这些平面图进一步“网格化”为3x5块,相当于字母大小的页面,以便它们可以作为物理参考材料。是否可以在ggplot中生成此类布局


[我希望没有必要为这个问题提供排斥。我相信问题很清楚,我不是在寻找直接的解决方案——简单地指出正确的方向或避开毫无意义的兔子洞将是有用的。]

再次感谢@a.S.K。这个补丁包正是我所需要的

require(ggplot2)
require(patchwork)

# using lapply with ggplot

df <- data.frame(x=c("a", "b", "c"), col1=c(1, 2, 3), col2=c(3, 2, 1), col3=c(4, 2, 3))
cols <- colnames(df[2:4])
myplots <- vector('list', 3)

plot_function <- function(y_column, data) { 
     ggplot(data, aes_string(x="x", y=y_column, fill = "x")) +
     geom_col() + 
     labs(title=paste("lapply:", y_column))
}


myplots <- lapply(cols, plot_function, df)

# using patchwork for layout

patch1 <- myplots[[1]] + myplots[[2]] / myplots[[3]] + plot_layout(guides = 'collect')
patch2 <- myplots[[1]] / ( myplots[[3]] | myplots[[2]] ) + theme_grey() + plot_layout(guides = 'collect')
patch1 / patch2 
require(ggplot2)
需要(拼凑)
#将lappy与ggplot结合使用

df查看该软件包-它非常用户友好,应该完全具备您需要的功能。太棒了!非常感谢。还有很多东西需要学习,但看起来非常有用