gpt4 book ai didi

r - 将多个ggplots打印到一个pdf中,每页多个图

转载 作者:行者123 更新时间:2023-12-03 01:32:13 28 4
gpt4 key购买 nike

我有一个列表 p,其中 p 的每个元素都是 ggplot2 绘图对象的列表。

我想输出一个包含 p 中所有绘图的单个 pdf,这样 p[[1]] 中的绘图位于第 1 页, p[[2]] 位于第 2 页等。我该怎么做?

这里有一些示例代码,为您提供我正在使用的数据结构——对无聊的图表示歉意,我随机选择了变量。

require(ggplot2)
p <- list()

cuts <- unique(diamonds$cut)
for(i in 1:length(cuts)){
p[[i]] <- list()
dat <- subset(diamonds, cut==cuts[i])
p[[i]][[1]] <- ggplot(dat, aes(price,table)) + geom_point() +
opts(title=cuts[i])
p[[i]][[2]] <- ggplot(dat, aes(price,depth)) + geom_point() +
opts(title=cuts[i])
}

最佳答案

该解决方案与列表p中列表的长度是否不同无关。

library(gridExtra)

pdf("plots.pdf", onefile = TRUE)
for (i in seq(length(p))) {
do.call("grid.arrange", p[[i]])
}
dev.off()

由于 onefile = TRUE,函数 pdf 将按顺序出现的所有图形保存在同一文件中(一张图形对应一页)。

关于r - 将多个ggplots打印到一个pdf中,每页多个图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12234248/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com