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

如何移除ggh4x包facet_nested中的嵌套分面上层标签

移除嵌套分面的上层标签(保留嵌套结构)

要单独隐藏嵌套分面的上层标签,无需统一修改所有分面标签,可以通过ggh4x中facet_nested的labeller参数实现,针对上层分面指定空标签即可,完全保留嵌套分面的结构。

修改后的代码

library(tidyverse)
library(ggh4x)

df <- as_tibble(iris) %>%
  mutate(
    Nester = if_else(Species == "setosa", "Short Leaves", "Long Leaves"),
    Nester = factor(Nester)
  ) %>%
  pivot_longer(!c(Species, Nester), names_to = "Measure", values_to = "Value")

ylim <- df %>%
  split(.$Nester) %>%
  map(., ~ range(.$Value))

df %>%
  ggplot(aes(Measure, Value)) +
  geom_boxplot() +
  theme(axis.text.x = element_text(angle = 90, vjust = .5)) +
  # 关键修改:通过labeller指定上层分面Nester的标签为空
  facet_nested(~ Nester + Species, scales = "free_y", independent = "y",
               labeller = labeller(Nester = ~ "")) +
  facetted_pos_scales(
    y = list(
      Species == "versicolor" ~ scale_y_continuous(limits = ylim[[1]]),
      Species == "virginica" ~ scale_y_continuous(limits = ylim[[1]], guide = "none"),
      Species == "setosa" ~ scale_y_continuous(limits = ylim[[2]])
    )
  )

原理说明

  • labeller = labeller(Nester = ~ "") 专门针对上层分面Nester设置空标签,不会影响下层Species的标签显示
  • 完全保留facet_nested的嵌套分面结构,包括独立y轴等原有设置,适配大规模复杂数据场景

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 16:48:26