如何调整ggplot2中facet_wrap分面标签位置使其位于y轴更左侧
实现方法
你只需要在theme()配置中添加strip.placement = "outside"参数即可,该参数控制分面标签相对于坐标轴的摆放位置,默认值为"inside"(即放在坐标轴和绘图区之间),修改为"outside"后分面标签就会移动到y轴的左侧外侧。
修改后的完整代码如下:
library(ggplot2) 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), strip.placement = "outside") # 新增的控制分面标签位置的参数
如果需要进一步调整分面标签和y轴之间的间距,可以给strip.text.y.left增加margin配置,示例如下:
strip.text.y.left = element_text(angle=0, margin = margin(r = 8))
其中margin(r = 8)表示给标签右侧增加8pt的留白,拉大标签和y轴的距离。
内容的提问来源于stack exchange,提问作者Andrew Hamel
相关产品推荐
相关产品推荐

