在 y 轴标签之前移动 facet_wrap 标签

Move facet_wrap label before y axis label

假设我有这个数据框:

x <- seq(-10, 9.9, by = .1)
y <- seq(0, 19.9, by = .1)
z <- rep(c(1,2,3,4),each=50)

df <- data.frame(col_x = x,
                 col_y = y,
                 col_z = z)

我这样绘制它:

ggplot(df, aes(x = col_x, y = col_y))+
  geom_point()+
  facet_wrap(~col_z, strip.position = "left", nrow = 4)+
  theme(axis.title.y = element_blank(),
        strip.text.y.left = element_text(angle=0))

但是,在此图中,小平面标签位于 y 轴之后。我该怎么做才能使小平面标签位于 y 轴之前。也就是说,他们更左?

提前致谢!

你可以试试这个:

library(ggplot2)

ggplot(df, aes(x = col_x, y = col_y))+
  geom_point() +
  facet_wrap(~col_z, strip.position = "left", nrow = 4) +
  theme(axis.title.y = element_blank(),
        strip.text.y.left = element_text(angle=0),
        strip.placement = "outside")

strip.placement = "outside" 参数将刻面标签移动到刻度旁边(我认为这是更好的位置)。所以你的情节看起来像