ggplot 图表列表到一个具有不同页面布局的 pdf
ggplot list of plots to one pdf with different page layouts
我想制作一个包含多页 ggplots 的 pdf。使用 gridExtra
,我还可以构建具有 m x n
布局的绘图页面(m
行绘图,n
列绘图)。
函数 ggsave
允许我写一页图,即使是那些用 gridExtra
构建的具有 m x n
布局的图。
使用 arrangeGrob
甚至可以 ggsave
多个页面到一个 pdf,只要每个页面具有相同的 m x n
布局。
我想知道如何 ggsave
具有不同页面布局的地块列表?例如,我有一个列表,l
,长度为 3 代表 3 页。
l[[1]]
是一个 2 x 2
布局的页面,有 4 个绘图
l[[2]]
是 2 x 1
有 2 个地块
l[[3]]
只是 1 x 1
我如何破解 ggsave
以便我可以将列表 l
写入 1 个 pdf 文件,其中 3 个页面具有不同的布局?这些图应横向显示,因此通常命令的形式为
ggsave("multipage.pdf", do.call(arrangeGrob, myplots[[i]]), width=11, height=8.5)
您可以使用与 marrangeGrob
、
相同的 class 技巧
library(ggplot2)
library(gridExtra)
pl <- lapply(1:7, function(i) ggplot() + ggtitle(i))
ppl <- list(p1 = arrangeGrob(grobs=pl[1:4]),
p2 = arrangeGrob(grobs=pl[5:6]),
p3 = arrangeGrob(grobs=pl[7]))
class(ppl) <- c("arrangelist", class(pl))
ggsave("multipage.pdf", ppl)
我想制作一个包含多页 ggplots 的 pdf。使用 gridExtra
,我还可以构建具有 m x n
布局的绘图页面(m
行绘图,n
列绘图)。
函数 ggsave
允许我写一页图,即使是那些用 gridExtra
构建的具有 m x n
布局的图。
使用 arrangeGrob
甚至可以 ggsave
多个页面到一个 pdf,只要每个页面具有相同的 m x n
布局。
我想知道如何 ggsave
具有不同页面布局的地块列表?例如,我有一个列表,l
,长度为 3 代表 3 页。
l[[1]]
是一个 2 x 2
布局的页面,有 4 个绘图
l[[2]]
是 2 x 1
有 2 个地块
l[[3]]
只是 1 x 1
我如何破解 ggsave
以便我可以将列表 l
写入 1 个 pdf 文件,其中 3 个页面具有不同的布局?这些图应横向显示,因此通常命令的形式为
ggsave("multipage.pdf", do.call(arrangeGrob, myplots[[i]]), width=11, height=8.5)
您可以使用与 marrangeGrob
、
library(ggplot2)
library(gridExtra)
pl <- lapply(1:7, function(i) ggplot() + ggtitle(i))
ppl <- list(p1 = arrangeGrob(grobs=pl[1:4]),
p2 = arrangeGrob(grobs=pl[5:6]),
p3 = arrangeGrob(grobs=pl[7]))
class(ppl) <- c("arrangelist", class(pl))
ggsave("multipage.pdf", ppl)