【发布时间】:2020-01-29 04:32:43
【问题描述】:
我正在尝试将ggplot2 生成的多个图存储到一个列表中。
我正在尝试使用previous thread 中建议的列表函数,但是我很难创建自己的函数来满足我的需要。
首先,我使用以下代码将基于因子的数据框拆分为列表:
heatlist.germ <- split(heatlist.germ, f=as.factor(heatlist.germ$plot))
之后,我尝试创建一个列表函数,以后可以使用lapply。
plot_data_fcn <- function (heatlist.germ) {
ggplot(heatlist.germ[[i]], aes(x=posX, y=posY, fill=germ_bin)) +
geom_tile(aes(fill=germ_bin)) +
geom_text(aes(label=germ_bin)) +
scale_fill_gradient(low = "gray90", high="darkolivegreen4") +
ggtitle(plot) +
scale_x_continuous("Position X", breaks=seq(1,30)) +
scale_y_continuous("Position Y (REVERSED)", breaks=seq(1,20))
}
heatlist.test <- lapply(heatlist.germ[[i]], plot_data_fcn)
我想要完成的两件主要事情:
- 将 12 个 ggplots(因此
plot的 12 个因子)存储在一个列表中。 - 创建一个名为“Plot [i] Germination”的标题。
任何帮助将不胜感激。
【问题讨论】:
-
plots <- lapply(heatlist.germ, plot_data_fcn),并从你的函数内部删除[[i]]。