桑基图与关系图实战教程:用AI生成专业的数据流向与网络关系可视化
📅 2026-03-20 · ⏱️ 阅读约 9 分钟 · 桑基图 关系图 高级图表
在数据可视化领域,桑基图和关系图是两种极具表现力但制作难度较高的图表类型。传统方法需要编写大量代码来构建节点、边和权重数据,门槛极高。
得刻图表采用独创的两阶段 AI + Python 协作架构,让你只需上传 Excel 数据 + 一句话描述,就能轻松生成复杂的桑基图和关系图。
一、桑基图(Sankey Diagram)
什么是桑基图?
桑基图用流的宽度来表示数据量的大小,清晰展示数据从来源到去向的流转关系。流越粗,代表的数量越大。
适用场景
| 场景 | 示例 |
|---|---|
| 用户行为路径 | 访问渠道 → 落地页 → 行为(购买/离开) |
| 能源流向 | 能源生产 → 转化 → 最终消费 |
| 资金流转 | 收入来源 → 各部门预算 → 支出项目 |
| 供应链分析 | 供应商 → 工厂 → 仓库 → 客户 |
| 患者治疗路径 | 诊断 → 治疗方案 → 治疗结果 |
| 人员流动 | 入职来源 → 部门 → 离职原因 |
数据格式
桑基图的数据本质是**"来源-去向-数量"**的三列结构:
| 来源 | 去向 | 数量 |
|---|---|---|
| 搜索引擎 | 首页 | 5000 |
| 社交媒体 | 首页 | 3000 |
| 直接访问 | 首页 | 2000 |
| 首页 | 产品页 | 4500 |
| 首页 | 博客页 | 2500 |
| 首页 | 退出 | 3000 |
| 产品页 | 购买 | 1800 |
| 产品页 | 退出 | 2700 |
| 博客页 | 产品页 | 800 |
| 博客页 | 退出 | 1700 |
💡 关键:数据可以有多层级。上面的例子就是三层:渠道 → 页面 → 行为。得刻图表的 AI 会自动从你的数据中提取所有唯一的节点,并构建完整的流向关系。
Prompt 示例
用桑基图展示用户从各渠道到各页面再到最终行为的转化流量,
流的宽度代表用户数量多层桑基图
桑基图可以有 2 层、3 层甚至更多层级。只要你的数据能串联起来(A→B,B→C),AI 就能自动构建多层流向:
渠道 → 首页 → 产品页 → 购买
↘ 退出
↘ 博客页 → 产品页
↘ 退出
↘ 退出二、关系图(Graph / 力导向图)
什么是关系图?
关系图用**节点(node)和边(link)**来展示对象之间的关联关系。节点的大小代表重要性,边的粗细代表关系强度。布局采用力导向算法,相关性强的节点会聚集在一起。
适用场景
| 场景 | 示例 |
|---|---|
| 社交网络 | 用户之间的好友关系 |
| 知识图谱 | 概念之间的关联关系 |
| 蛋白质互作网络 | 蛋白质之间的相互作用 |
| 引用关系 | 论文之间的引用网络 |
| 组织架构 | 部门和人员的隶属关系 |
| 产品关联 | 电商中"经常一起购买"的商品 |
数据格式
关系图的数据同样是**"来源-目标-权重"**的结构:
| 节点A | 节点B | 关系强度 |
|---|---|---|
| 张三 | 李四 | 8 |
| 张三 | 王五 | 5 |
| 李四 | 赵六 | 7 |
| 王五 | 赵六 | 3 |
| 张三 | 赵六 | 2 |
Prompt 示例
用力导向关系图展示各人物之间的社交关系,
节点大小代表连接数量(越多越大),
边的粗细代表关系强度三、得刻图表的技术优势:两阶段协作架构
桑基图和关系图的制作难度在于:节点和边的数量可能非常大。一份 500 行的 Excel,可能需要构建上百个节点和数百条边。
如果完全依赖 AI(大语言模型)来生成所有节点和边的 JSON 配置,会遇到两个问题:
- Token 限制:大语言模型有输出长度限制,无法输出超长的 JSON
- 准确性下降:节点过多时,AI 可能遗漏或重复
得刻图表的解决方案
得刻图表采用两阶段协作架构:
阶段 1:AI 理解数据语义
AI 分析你的数据结构,确定哪些列是"来源"、"去向"、"权重"
AI 生成图表的基础配置(标题、配色、布局方式、tooltip 格式等)
AI 输出"数据构建指令"(告诉后端如何从原始数据提取节点和边)
↓
阶段 2:Python 精确构建数据
后端 Python 根据 AI 的指令,从原始数据中提取完整的节点列表
自动去重、自动计算节点权重(symbolSize)
完整构建 links 数组,确保不遗漏任何一条边
将构建好的 nodes + links 注入 AI 生成的配置中这意味着什么?
- ✅ 即使你的 Excel 有 500+ 行数据,也能完整、准确地生成桑基图/关系图
- ✅ 每个节点都不会遗漏,每条边都准确对应原始数据
- ✅ 节点大小(symbolSize)根据实际连接数自动计算,不是 AI "估计"的
- ✅ 生成速度依然保持在 30 秒以内
四、实战案例
案例1:电商用户转化路径(桑基图)
数据:用户从各入口到各页面到各行为的流量统计
Prompt:
用桑基图展示用户从各流量入口(搜索、社交、广告、直接访问)
到各页面(首页、商品页、活动页)
再到最终行为(加购、购买、收藏、离开)的转化流量分析价值:
- 一眼看出哪个渠道带来的购买转化最高
- 发现哪个环节流失最严重
- 指导营销预算分配
案例2:学术引用网络(关系图)
数据:论文之间的引用关系
Prompt:
用关系图展示各论文之间的引用网络,
节点大小代表被引次数,颜色区分不同研究领域分析价值:
- 发现领域内的关键文献(大节点)
- 识别研究子领域(节点聚类)
- 找到跨领域的桥梁论文
案例3:供应链物流(桑基图)
数据:从供应商到工厂到仓库到客户的物流量
Prompt:
用桑基图展示供应链各环节的物流量流向,
从原材料供应商→生产工厂→区域仓库→终端客户五、数据准备技巧
✅ 桑基图数据要求
- 三列结构:来源列、去向列、数量列
- 不能有环路:A→B→A 这种循环会导致渲染异常
- 节点名称统一:同一个节点在不同行中的名称必须完全一致
- 数量为正数:流量值必须 > 0
✅ 关系图数据要求
- 三列结构:节点A列、节点B列、权重列(可选)
- 允许双向:A→B 和 B→A 可以同时存在
- 节点名称统一:同一个节点在不同行中的名称必须完全一致
⚠️ 常见问题
| 问题 | 原因 | 解决方案 |
|---|---|---|
| 节点不全 | 名称拼写不一致 | 检查"首页"和"首 页"(多了空格) |
| 渲染混乱 | 桑基图有环路 | 确保数据是有向无环的 |
| 显示效果不好 | 节点太多太密 | 筛选 Top 50 的关系后再生成 |
六、编辑器中的桑基图/关系图调整
AI 生成后,你还可以在编辑器中微调:
桑基图调整
- 节点颜色:每个节点可以单独设置颜色(配色主题会智能着色所有节点)
- 节点宽度:调整桑基图节点条的宽度
- 间距:调整节点之间的纵向间距
- 拖拽:在预览区可以拖拽节点位置
关系图调整
- 节点大小:已自动根据连接数计算,也可手动调整
- 边线颜色:可修改连线颜色和透明度
- 力导向参数:通过 JSON 编辑器调整
repulsion(排斥力)和gravity(引力),控制节点分散/聚集程度 - 标签显示:控制节点名称标签是否显示
七、与其他图表的配合使用
桑基图和关系图通常需要配合其他图表一起分析:
| 主图表 | 配合图表 | 分析目的 |
|---|---|---|
| 桑基图(全局流向) | 漏斗图(单路径转化率) | 先看全局,再深挖某条路径 |
| 桑基图(用户路径) | 折线图(时间趋势) | 先看路径分布,再看时间变化 |
| 关系图(网络全貌) | 柱状图(节点排名) | 先看整体网络,再看 Top 节点 |
| 关系图(社交网络) | 热力图(互动频次) | 先看关系结构,再看互动密度 |
