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

箱线图技术需求:将站点与区域分类数据整合至同一图表

合并站点与区域箱线图的解决方案

嘿,我明白你想把两个独立的箱线图(站点级和区域级)合并成一个,同时保持坐标轴翻转来适配长站点名称的需求。这里有个贴合你现有代码逻辑的解决方案,咱们一步一步来实现:

步骤1:准备合并数据集

我们需要把站点级数据和区域级数据整合到同一个数据框里,用统一的分组变量来兼容两种维度的展示:

library(tidyverse)
library(forcats)

# 你的原始数据
example <- structure(list(Site = c("NS", "NS", "NS", "NE", "NE", "NE", "KO", "KO", "KO", "MI", "MI", "MI", "KI", "KI", "KI", "HP", "HP", "HP", "HA", "HA", "HA"), 
                          Var1 = c(30, 5, 4, 0.3, 0, 0, 48, 79, 43, 30, 30, 50, 5, 3, 3, 20, 31, 50, 30, 40, 68), 
                          Region = c("A", "A", "A", "A", "A", "A", "A", "A", "A", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B", "B")), 
                     class = "data.frame", row.names = c(NA, -21L))

# 合并站点和区域数据:创建统一的Group列
combined_data <- bind_rows(
  # 保留站点数据,Group为站点名称
  example %>% mutate(Group = Site),
  # 区域数据,把Region作为Group值
  example %>% mutate(Group = Region)
)

# 设置Group的显示顺序:先按你指定的站点顺序,再按区域顺序(B在前,A在后)
combined_data$Group <- fct_relevel(combined_data$Group, 
                                   "HA", "HP", "KI", "MI", "KO", "NE", "NS", 
                                   "B", "A")

步骤2:绘制合并后的箱线图

现在用这个合并数据集绘图,完全保留你原来的样式和坐标轴翻转效果:

combined_plot <- ggplot(combined_data, aes(x = Group, y = Var1, fill = Region)) +
  geom_boxplot() +
  xlab("Site / Region") +
  ylab("Variable 1") +
  ylim(0, 100) +
  coord_flip() + # 保持坐标轴翻转,适配长站点名称
  theme_bw() +
  scale_fill_manual(values = c("#0072B2", "#D55E00")) + # 和你原来的配色一致
  theme(axis.text = element_text(size = 11), 
        axis.title = element_text(size = 12)) +
  # 可选:添加分隔线和标注,更清晰区分站点细节与区域汇总
  annotate("segment", x = 7.5, xend = 7.5, y = 0, yend = 100, color = "gray50", linetype = "dashed") +
  annotate("text", x = 4, y = 105, label = "Individual Sites", size = 4) +
  annotate("text", x = 8.5, y = 105, label = "Regional Summary", size = 4)

# 展示最终图表
combined_plot

方案说明

  • 没有额外计算统计量,直接把区域的所有数据点纳入分组,让ggplot自动生成正确的箱线图
  • 严格匹配了你原来两个图的显示顺序,确保站点在前、区域在后
  • 保留了你所有的自定义样式(配色、字体大小、主题),同时解决了长名称的显示问题
  • 可选的分隔线和标注能帮助读者快速区分站点细节和区域汇总部分

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 19:12:54