facet_grid 中的方面和 facet_wrap 中的 axis.line 方面?

facets as in facet_grid, and axis.line as for facet_wrap?

我正在尝试使用 中的构面构建绘图,因此绘图使用两个因子在 x 轴和 y 轴上分开,如:

mtcars %>% ggplot() +
  geom_point(aes(x=mpg, y=wt)) + 
  facet_grid(cyl ~ gear, scales="free") + 
  theme(panel.background = element_blank(), axis.line = element_line(size=0.5))

上述方法的问题是只显示了最上面和最左边的图的轴线,因此如果不使用彩色 panel.background.

很难区分图。

不会出现这个问题,但是这个函数显然不会在两个轴上对因子进行分组,或者条带将始终在其中一侧(根据 strip.position 参数),但并不像 facet_grid 那样正确。例如:

mtcars %>% ggplot() + 
  geom_point(aes(x=mpg, y=wt)) +
  facet_wrap(cyl ~ gear, scales="free") + 
  theme(panel.background = element_blank(), axis.line = element_line(size=0.5))

问题 是否可以使用 facet_grid 创建一个绘图,但在所有轴上都有线,或者使用 facet_wrap,但将因素分组为 facet_grid?

我认为您正在 lemon 包中寻找 facet_rep_grid。这是生成所需图的代码。

library(tidyverse)
library(lemon)

mtcars %>% ggplot() + 
  geom_point(aes(x=mpg, 
                 y=wt)) + 
  facet_rep_grid(cyl ~ gear, 
                 scales="free",
                 repeat.tick.labels = "all") + 
  theme(panel.background = element_blank(), 
        axis.line = element_line(size=0.5))