用途:展示实体在有序类别列之间的流动,用色带宽度编码数量。桑基图强调总流量大小,冲积图强调单个实体轨迹的连续性,CONSORT 图规范临床试验筛选流程。
主要能力与工具:R 端 ggalluvial::geom_alluvium、networkD3::sankeyNetwork、consort::consort_plot;Python 端 plotly.graph_objects.Sankey、pySankey。参考示例测试版本为 ggalluvial 0.12+、networkD3 0.4+、plotly 4.10+、consort 0.2+、pySankey 0.0.1+。使用前应核对版本:R 用 packageVersion('<pkg>') 与 ?function_name,Python 用 pip show <package> 与 help(module.function)。
选择建议:单时间点源到汇用桑基图;多时间点实体轨迹用冲积图;临床试验患者流转用 CONSORT;变异过滤流程用 CONSORT 式流程;两时间点细胞状态转换可用桑基或冲积。
用法要点:ggalluvial 需将数据整理为 lodes(长)或 alluvia(宽)格式,用 geom_alluvium 画色带、geom_stratum 画列框;aes(fill = t1) 按起点着色,aes(fill = t3) 按终点着色。networkD3 生成可交互 HTML,静态出版图需截图或经 webshot2 导出。plotly 静态导出需安装 kaleido(orca 已停止维护),否则可能静默失败。
限制与常见问题:每列类别建议 5-7 个,冲积图轴数建议 4-5 个,过多会导致色带交叉严重。类别需显式设置因子水平,否则默认按频率排序造成视觉混乱。plotly 桑基图要求每个内部节点流入与流出总和守恒,否则节点尺寸异常。CONSORT 2010 要求各阶段框齐全,缺失会被判定不合规。多时间点数据若用桑基图会丢失实体轨迹连续性。部分时间点缺失数据需决定丢弃或增加“Missing”类别。
其他事实(如收费、平台支持范围)暂未提供。