r - 从 ggplots 列表中自动组装拼凑图
问题描述
我正在尝试锻炼一个功能(没有任何成功),它将自动组装一个 ggplots 图列表patchwork
。
该函数将接受以下输入:
- no_of_rows
- no_of_cols
- master_list_with_plots
使用您的输入,该功能应自动构建绘图。我在下面提供了一个示例:
library(tidyverse)
library(patchwork)
p1 <- mtcars %>% ggplot() + geom_bar(aes(mpg))
p2 <- mtcars %>% ggplot() + geom_bar(aes(cyl))
p3 <- mtcars %>% ggplot() + geom_bar(aes(disp))
p4 <- mtcars %>% ggplot() + geom_bar(aes(hp))
p5 <- mtcars %>% ggplot() + geom_bar(aes(drat))
p6 <- mtcars %>% ggplot() + geom_bar(aes(wt))
plot_list <- list(mpg = p1,
cyl = p2,
disp = p3,
hp = p4,
drat = p5,
wt = p6)
# Function inputs
no_of_rows = 2
no_of_col2 = 3
master_list_with_plots = org_plot
#Function output would be org_plot below
org_plot <- plot_list[["mpg"]] + plot_list[["cyl"]] + plot_list[["disp"]] +
plot_list[["hp"]] + plot_list[["drat"]] + plot_list[["wt"]]
有任何想法吗?
解决方案
您可以patchwork::wrap_plots
输入一个函数:
plot_a_list <- function(master_list_with_plots, no_of_rows, no_of_cols) {
patchwork::wrap_plots(master_list_with_plots,
nrow = no_of_rows, ncol = no_of_cols)
}
plot_a_list(plot_list, 2, 3)
推荐阅读
- swift - Xcode“TODO”注释在 Swift 中未呈现粗体
- android - 在 android studio 上使用 azure text-analytics
- vue.js - 在回调上执行函数
- excel - Excel数字格式错误
- tensorflow - keras predict 如何处理数据集
- linux - GCC 未在 pacman 安装时添加到系统路径
- c - 线程 1:EXC_BAD_ACCESS(代码=1,地址=0x68
- c# - 使用嵌套的 foreach 循环降低代码的时间复杂度
- python - Colab matplotlib 绘图风格出人意料的行为
- python - “作者”个人页面的 Django 视图功能