我正在制作一些每页都有多个图形的pdf文件,当我使用gridextra包中的marrangeGrob来制作这些图形时,第一页总是空白的.如何让图表从第一页开始?这是一些示例代码:
library(gridextra) library(ggplot2) data(iris) Plotlist <- list() Plotlist[[1]] <- ggplot(data = subset(iris, Species == "setosa"), aes(x = Sepal.Width, y = Sepal.Length)) + geom_point() Plotlist[[2]] <- ggplot(data = subset(iris, Species == "versicolor"), aes(x = Sepal.Width, y = Sepal.Length)) + geom_point() Plotlist[[3]] <- ggplot(data = subset(iris, Species == "virginica"), aes(x = Sepal.Width, y = Sepal.Length)) + geom_point() pdf("iris.pdf", width = 8.5, height = 11) marrangeGrob(Plotlist, nrow = 2, ncol = 1) dev.off()
pdf的第二页甚至在顶部说"第1页,共2页",所以在某处有一些脱节.
我的猜测是,ggplot2最近改变了一些东西来调用网格函数来评估需要打开设备的网格单元.
您可以尝试这种解决方法,
glist <- lapply(Plotlist, ggplotGrob) ggsave("iris.pdf", marrangeGrob(glist, nrow = 2, ncol = 1))