为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用grid.arrange排列变量列表?

如何使用grid.arrange排列变量列表?

斯蒂芬大帝 2019-10-09 14:57:10
library(ggplot2)df <- data.frame(x=1:10, y=rnorm(10))p1 <- ggplot(df, aes(x,y)) + geom_point()plist <- list(p1,p1,p1,p1,p1)# In my real example,a plot function will fit a ggplot to a list of datasets #and return a list of ggplots like the example above.我想使用grid.arrange()中来安排地块gridExtra。如果地块数量plist可变,我该怎么办?这有效:  grid.arrange(plist[[1]],plist[[2]],plist[[3]],plist[[4]],plist[[5]])但是我需要一个更通用的解决方案。有什么想法吗?
查看完整描述

3 回答

?
长风秋雁

TA贡献1757条经验 获得超7个赞

我知道这个问题是使用gridExtra 包专门指出的,但是patchwork包中的wrap_plots函数是处理可变长度列表的好方法:


library(ggplot2)

# devtools::install_github("thomasp85/patchwork")

library(patchwork)


df <- data.frame(x=1:10, y=rnorm(10))

p1 <- ggplot(df, aes(x,y)) + geom_point()

plist <- list(p1,p1,p1,p1,p1)


wrap_plots(plist)

关于它的一个有用的事情是,您无需指定所需的列数,并且将旨在使列数和行数保持相等。例如:


plist <- list(p1,p1,p1,p1,p1,p1,p1,p1,p1,p1,p1,p1,p1)

wrap_plots(plist) # produces a 4 col x 4 row plot

在此处了解有关拼凑而成的软件包的更多信息


查看完整回答
反对 回复 2019-10-09
  • 3 回答
  • 0 关注
  • 2693 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信