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

如何在ggforce的geom_parallel_sets_labels中给黑色条形添加人数统计?

在平行集图的黑色条形上添加人数统计

要给ggforce绘制的平行集图的黑色条形添加人数统计,需要先计算每个条形对应的总人数,再用geom_text将统计数字放置在条形中心位置。以下是基于Titanic数据集的完整实现:

步骤1:加载包与处理数据

library(tidyverse)
library(ggforce)

# 处理Titanic数据集
data <- reshape2::melt(Titanic)
data <- gather_set_data(data, 1:4)

步骤2:计算每个条形的总人数

原数据是拆分后的路径数据,需要按轴位置(x)和类别(y)分组求和,得到每个黑色条形的总人数:

summary_data <- data %>%
  group_by(x, y) %>%
  summarise(total = sum(value), .groups = "drop")

步骤3:绘制带人数统计的平行集图

在原有绘图代码基础上,添加geom_text调用汇总数据,将人数文本放置在条形中心:

ggplot(data, aes(x, id = id, split = y, value = value)) +
  geom_parallel_sets(aes(fill = Sex), alpha = 0.3, axis.width = 0.1) +
  geom_parallel_sets_axes(axis.width = 0.1) +
  geom_parallel_sets_labels(colour = 'white') +
  # 添加条形人数统计
  geom_text(data = summary_data, aes(x = x, y = total/2, label = total), 
            colour = "black", size = 4)

说明

  • total/2确保文本位于条形垂直方向的中心位置,和黑色条形的高度匹配
  • 可通过调整size参数改变文本大小,colour保证文字与黑色条形的对比度

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 04:35:46