You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ggplot2双列facet_wrap绘图如何让左右列分面标签分置两侧

ggplot2双列分面左右分列显示y轴与标签的实现方法

要实现该效果,原生facet_wrap不支持分列控制轴与标签位置,需要借助ggh4x扩展包的增强分面功能实现,调整后的代码如下:

首先安装并加载所需包:

# 首次使用先安装
install.packages("ggh4x")
library(ggplot2)
library(ggh4x)

绘图代码:

ggplot(economics_long, aes(date, value)) +
  geom_line() +
  labs(y="") +
  facet_wrap2(
    ~variable, 
    scales = "free_y", 
    ncol = 2,
    # 按列设置分面标签位置:左列左置,右列右置
    strip.position = c("left", "right"),
    # 按列设置y轴显示位置:左列左置,右列右置
    axes = list(y = c("l", "r"))
  ) +
  theme(
    strip.background = element_blank(), 
    strip.placement = "outside",
    # 调整横向分面间距,实现更紧凑的布局
    panel.spacing.x = unit(0.4, "lines")
  )

参数说明

  • facet_wrap2是ggh4x提供的增强分面函数,支持对不同列/行的分面属性做独立配置
  • 可根据需求调整panel.spacing.x的数值,自定义分面之间的横向间隔大小

内容的提问来源于stack exchange,提问作者Alessandro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 01:36:04