假设我有一个情节列表,plotlist
我想调用patchwork::wrap_plots(plotlist)
.
我还想在列表的开头再添加一个情节。
让我们从一个包含 2 个图的列表开始:
library(ggplot2)
library(patchwork)
cols <- c("mpg", "hp")
plot_col <- function(this_col) {
ggplot(mtcars) +
aes_string("wt", this_col) +
geom_point()
}
plotlist <- lapply(cols, plot_col)
这有效:
res <- wrap_plots(plotlist)
但是等等,我还有一个情节。
p <- plot_col("qsec")
我可以在新情节之前p
添加plotlist
吗?
这些方法都不起作用:c()
, list()
,purrr::prepend()
newlist <- c(p, plotlist)
res <- wrap_plots(newlist)
#> Error: Only know how to add ggplots and/or grobs
newlist <- list(p, plotlist)
res <- wrap_plots(newlist)
#> Error: Only know how to add ggplots and/or grobs
newlist <- purrr::prepend(plotlist, p)
res <- wrap_plots(newlist)
#> Error: Only know how to add ggplots and/or grobs