【发布时间】:2021-05-12 08:33:44
【问题描述】:
我做了一个函数:
mtcars_plot_fun <- function(cyl_in, gear_in) {
car_data <- mtcars %>%
filter(cyl == cyl_in,
gear == gear_in)
p <- car_data %>% ggplot(aes(x = disp, y = qsec, fill = gear)) +
geom_point()
print(p)
}
然后是一个循环,生成图并将它们存储在列表对象gg_obj
cyls <- c(4, 6)
gears <- c(3, 4)
for (cyl in cyls) {
for (gear in gears) {
gg_obj <- mtcars_plot_fun(cyl_in = cyl, gear_in = gear)
}
}
现在我想从gg_obj 中提取我需要的图,并使用grid.arrange()、gridExtra 或类似的方法来绘制它们。
如何提取我想要的图,并将它们存储为独特的对象以在网格中绘制?
【问题讨论】:
-
如果
gg_obj有多个ggplots,那么gg_obj[[1]]应该给你第一个情节。 -
如果您创建一个小的可重现示例以及预期的输出,这将更容易提供帮助。阅读how to give a reproducible example。
-
问题已更新为体面的代表,谢谢