marrangeGrob 给出 nrow 的错误
marrangeGrob giving error for nrow
我正在尝试使用 for 循环创建一堆 ggplot2 图,然后将它们保存在多页 pdf 文档中,但我在使用 marrangeGrob 时遇到了问题。下面是一些示例代码:
Plots <- list()
Plots[[1]] <- qplot(mtcars$mpg, mtcars$wt)
Plots[[2]] <- qplot(mtcars$cyl, mtcars$wt)
Plots[[3]] <- qplot(mtcars$mpg, mtcars$qsec)
Plots[[4]] <- qplot(mtcars$cyl, mtcars$drat)
# install.packages("gridExtra", dependencies = TRUE)
library(gridExtra)
MyPlots <- do.call(marrangeGrob, c(Plots, nrow = 1, ncol = 2))
ggsave("My plots on multiple pages.pdf", MyPlots)
我过去使用过类似版本的 do.call(marrangeGrob...
行并让它们工作,但现在,当我尝试执行该行时出现此错误:Error: nrow * ncol >= n is not TRUE
。事实上,与此类似的代码曾经有效,这让我认为其中一个软件包中的某些内容已经更新。对于如何解决这个问题,有任何的建议吗?
使用新的 grobs
参数,语法略有变化。你应该使用
marrangeGrob(grobs=Plots, nrow = 1, ncol = 2)
或者,等价地,
do.call(marrangeGrob, list(grobs=Plots, nrow = 1, ncol = 2))
我正在尝试使用 for 循环创建一堆 ggplot2 图,然后将它们保存在多页 pdf 文档中,但我在使用 marrangeGrob 时遇到了问题。下面是一些示例代码:
Plots <- list()
Plots[[1]] <- qplot(mtcars$mpg, mtcars$wt)
Plots[[2]] <- qplot(mtcars$cyl, mtcars$wt)
Plots[[3]] <- qplot(mtcars$mpg, mtcars$qsec)
Plots[[4]] <- qplot(mtcars$cyl, mtcars$drat)
# install.packages("gridExtra", dependencies = TRUE)
library(gridExtra)
MyPlots <- do.call(marrangeGrob, c(Plots, nrow = 1, ncol = 2))
ggsave("My plots on multiple pages.pdf", MyPlots)
我过去使用过类似版本的 do.call(marrangeGrob...
行并让它们工作,但现在,当我尝试执行该行时出现此错误:Error: nrow * ncol >= n is not TRUE
。事实上,与此类似的代码曾经有效,这让我认为其中一个软件包中的某些内容已经更新。对于如何解决这个问题,有任何的建议吗?
使用新的 grobs
参数,语法略有变化。你应该使用
marrangeGrob(grobs=Plots, nrow = 1, ncol = 2)
或者,等价地,
do.call(marrangeGrob, list(grobs=Plots, nrow = 1, ncol = 2))