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

ggalluvial中geom_text无法显示的问题求助

解决ggalluvial绘图的标签不显示及警告问题

问题背景

参考资料绘制alluvial图时遇到两个问题:运行代码弹出unused argument (na_rm = na_rm)警告,同时图中geom_text的标签完全不显示。已尝试重装ggplot2和ggalluvial包、调整参数顺序,问题仍未解决,期望生成带标签的alluvial图。

现有代码

#install.packages("ggalluvial")
library(ggalluvial)

ggplot(data = Sankey_Table, aes(axis1 = source, axis2 = target, y = value)) +
  geom_alluvium(aes(fill = source)) +
  ggalluvial::geom_stratum(alpha = 0.5, na_rm = TRUE) +
  geom_text(stat = "stratum", aes(label = after_stat(stratum))) +
  scale_x_discrete(limits = c("Source", "Target"),
                   expand = c(0.15, 0.05)) +
  theme_void() 

数据格式

> head(Sankey_Table)
# A tibble: 6 × 5
  source              target               value
  <chr>               <chr>                <dbl>
1 pre :: H0         post :: H0              31
2 pre :: H0         post :: Hlow            11
3 pre :: H0         post :: pCR             12
4 pre :: H0         post :: NA               1
5 pre :: Hlow       post :: H0              28
6 pre :: Hlow       post :: Hlow            29

警告信息

Warning messages:
1: Computation failed in `stat_stratum()`:
unused argument (na_rm = na_rm) 
2: Computation failed in `stat_stratum()`:
unused argument (na_rm = na_rm) 

解决方案

1. 消除警告

ggalluvial::geom_stratum()的参数为na.rm(下划线位置错误),将na_rm = TRUE修正为na.rm = TRUE即可消除警告。

2. 显示标签

标签不显示是因为geom_text的映射逻辑需要调整,同时确保stat_stratum能正确识别分层。修改后的完整代码如下:

library(ggalluvial)

ggplot(data = Sankey_Table, aes(axis1 = source, axis2 = target, y = value)) +
  geom_alluvium(aes(fill = source)) +
  ggalluvial::geom_stratum(alpha = 0.5, na.rm = TRUE) +
  # 明确标签映射并居中显示,避免重叠
  geom_text(stat = "stratum", aes(label = after_stat(stratum)), 
            size = 3, position = position_stack(vjust = 0.5)) +
  scale_x_discrete(limits = c("Source", "Target"),
                   expand = c(0.15, 0.05)) +
  theme_void() 

如果标签仍不显示,先执行update.packages("ggalluvial")更新包到最新版本,再检查数据中是否存在异常NA值导致分层无法生成。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 06:50:32