我想在带有grid.arrange的网格上排列N ggplot(每个面都是多面的)。
library(tidyverse)
library(ggplot2)
library(gridExtra)
plots <- lapply(unique(mtcars$cyl), function(cyl) {
data <- mtcars %>% filter(cyl == cyl)
ggplot(data, aes(x=mpg, y=hp))+
geom_point(color = "blue")+
facet_wrap(.~carb)}) %>%
do.call(grid.arrange, .)
do.call(grid.arrange, plots )
Run Code Online (Sandbox Code Playgroud)
问题是所有图都基于整个数据集,并且它们呈现相同的图,而当我按行过滤它们时,它们应该保持不同
data <- mtcars %>% filter(cyl == cyl)。