R语言 以编程方式构建拼接图

e37o9pze  于 5个月前  发布在  其他
关注(0)|答案(1)|浏览(66)

所有拼凑的文档都描述了如何使用p1+p2+p3+p4(或p1)构建图|P2|......)的情况。
我想从一个ggplot对象列表中构建一个拼凑图,其中我事先不知道图的数量。
我可以制作一个情节列表,并制作最后一页:
final.plot <- p_list[[1]] | p_list[[2]] | p_list[[3]]
但我还没想好怎么用

final.plot <- NULL
for (i in 1:length(p_list)){
  final.plot <- final.plot | p_list[[i]]
}

字符串
有办法做到这一点吗?

yk9xbfzb

yk9xbfzb1#

要通过编程方式从list图中创建patchworkpatchwork包提供了patchwork::wrap_plots()

library(ggplot2)
library(patchwork)

p_list <- replicate(4, ggplot(mtcars, aes(hp, mpg)) +
  geom_point(), simplify = FALSE)

p_list |> 
  wrap_plots(ncol = 2, nrow = 2)

字符串


的数据
或者使用Reduce代替for循环,但我看不出有任何理由这样做,因为我们有wrap_plots()

p_list |> 
  Reduce(`|`, x = _) +
  plot_layout(ncol = 2, nrow = 2)


相关问题