如何在网格中放置未定义数量的ggplot项目
How to put undefined amount of ggplot items in a grid
我有几个图表想放入 grid.arrange 函数中。但是,我并不总是事先知道网格中必须有多少图表,并且希望避免必须始终如一地检查代码以更改每个 grid.arrange 函数。
gg1 <- ggplot(mtcars, aes(cyl)) + geom_bar()
gg2 <- ggplot(mpg, aes(class, hwy)) + geom_bar(stat = "identity")
gg3 <- ggplot(mpg, aes(hwy)) + geom_area(stat = "bin")
grid.test <- grid.arrange(gg1,gg2,gg3)
我已经尝试粘贴项目了。
grid.arrange(paste("gg", 1:3, sep= ""))
我也试过将它们放入一个列表中并对其进行解析,但无法在 grid.arrange 中获得未定义数量的它们。特别是 grid.arrange 仅在您抓取元素时才接受它,这不允许多项选择。
ggtest <- list(gg1,gg2,gg3)
grid.test <- grid.arrange(ggtest[[1:3]])
Returns下标错误
ggtest <- list(gg1,gg2,gg3)
grid.test <- grid.arrange(ggtest[1:3])
returns 仅 'grobs' 允许 "gList" 错误。
欢迎在这里提供任何帮助,也许我看错了,或者是否应该使用其他功能?
library(gridExtra)
library(ggplot2)
gg1 <- ggplot(mtcars, aes(cyl)) + geom_bar()
gg2 <- ggplot(mpg, aes(class, hwy)) + geom_bar(stat = "identity")
gg3 <- ggplot(mpg, aes(hwy)) + geom_area(stat = "bin")
ggtest <- mget(paste0("gg", 1:3))
do.call(grid.arrange, ggtest)
#> `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
我有几个图表想放入 grid.arrange 函数中。但是,我并不总是事先知道网格中必须有多少图表,并且希望避免必须始终如一地检查代码以更改每个 grid.arrange 函数。
gg1 <- ggplot(mtcars, aes(cyl)) + geom_bar()
gg2 <- ggplot(mpg, aes(class, hwy)) + geom_bar(stat = "identity")
gg3 <- ggplot(mpg, aes(hwy)) + geom_area(stat = "bin")
grid.test <- grid.arrange(gg1,gg2,gg3)
我已经尝试粘贴项目了。
grid.arrange(paste("gg", 1:3, sep= ""))
我也试过将它们放入一个列表中并对其进行解析,但无法在 grid.arrange 中获得未定义数量的它们。特别是 grid.arrange 仅在您抓取元素时才接受它,这不允许多项选择。
ggtest <- list(gg1,gg2,gg3)
grid.test <- grid.arrange(ggtest[[1:3]])
Returns下标错误
ggtest <- list(gg1,gg2,gg3)
grid.test <- grid.arrange(ggtest[1:3])
returns 仅 'grobs' 允许 "gList" 错误。
欢迎在这里提供任何帮助,也许我看错了,或者是否应该使用其他功能?
library(gridExtra)
library(ggplot2)
gg1 <- ggplot(mtcars, aes(cyl)) + geom_bar()
gg2 <- ggplot(mpg, aes(class, hwy)) + geom_bar(stat = "identity")
gg3 <- ggplot(mpg, aes(hwy)) + geom_area(stat = "bin")
ggtest <- mget(paste0("gg", 1:3))
do.call(grid.arrange, ggtest)
#> `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.