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