我正在尝试生成10对图表,每页有几对图表,并使用for循环构建这些图表。但是,这些图表被单独发送到设备上,而不是作为页面一起呈现。
下面的MWE具有基本图形和ggplot版本相同的结构,但基本图形可以正常分页,而ggplot无法。我需要做什么才能在第二个版本中正确分页?
下面的MWE具有基本图形和ggplot版本相同的结构,但基本图形可以正常分页,而ggplot无法。我需要做什么才能在第二个版本中正确分页?
library(ggplot2)
attach(mtcars)
# correct configuration
par(mfrow=c(2,2))
for (ii in 1:3){
vars <- c("wt", "disp", "wt")
plot(get(vars[ii]), mpg)
hist(get(vars[ii]))
}
# places each on separate plot
par(mfrow=c(2,2))
for (ii in 1:3){
vars <- c("wt", "disp", "wt")
p <- ggplot(mtcars, aes(get(vars[ii]), mpg)) + geom_point(size=4)
plot(p)
p <- ggplot(mtcars, aes(get(vars[ii]))) + geom_histogram()
plot(p)
}
detach(mtcars)
par
命令只能用于 base R 图形,无法用于ggplot
图形。您是否想要对图形进行分面显示(facet
)处理? - camillegridExtra::grid.arrange
,例如请参考这篇文章。 - Maurits Everspar
不可用。这不是facet
的问题 - 画的是不同的图。我需要看看是否可以使gridExtra::grid.arrange
或cowplot::plot_grid
足够灵活,以处理不命名个别绘图的情况。 - JenB