桑基图绘制说明
1. 方法概述
桑基图(Sankey Diagram)是一种特殊的流图,用于描述一组值到另一组值的流向关系。
通过流量带的宽度来表示流量大小,可以清晰地展示能量流动、物质流转、资金流向、用户行为路径等多级流向关系。流量带越宽,表示流量越大。
该方法主要用于可视化展示系统中各个节点之间的流动关系和流量分布,帮助识别主要流向和关键节点。
1.1 主要功能
- 流向可视化:直观展示从来源到目标的流动关系
- 流量表示:通过连线宽度表示流量大小
- 多级流动:支持多层级的流动关系展示
- 节点聚合:自动聚合相同节点的流入流出
- 参数自定义:支持颜色方案、节点宽度、连线样式等多种参数调整
1.2 应用场景
桑基图广泛应用于以下场景:
能源流动分析:
- 能源生产、转换、消费的流向
- 电力系统的能量流动
- 碳排放流向分析
物质流转分析:
- 生产流程中的物料流动
- 供应链中的物流分析
- 废弃物处理流程
资金流向分析:
- 预算分配与支出
- 资金在不同部门间的流动
- 投资组合分析
用户行为分析:
- 网站用户访问路径
- 产品使用流程
- 客户转化漏斗
2. 数据文件格式
桑基图绘制需要上传包含流向数据的Excel文件,文件中需要包含三列关键数据。
2.1 数据格式要求
<div style=“text-align: center;”> <img src=“/guide/figures/桑基图/示例数据.png” width=“350” alt=“数据格式”> </div>
格式说明:
- 来源列:流动的起点节点名称
- 目标列:流动的终点节点名称
- 数值列:流动的数量或流量大小(必须为正数)
数据要求:
- 至少需要3列数据(来源、目标、数值)
- 数值列必须为数值类型,且大于0
- 来源和目标可以是文本或数字
- 支持多级流动(某个节点既可以是目标,也可以是来源)
2.2 数据示例
示例1:能源流动
| 来源 | 目标 | 流量 |
|---|---|---|
| 煤炭 | 发电 | 500 |
| 天然气 | 发电 | 300 |
| 水力 | 发电 | 200 |
| 发电 | 工业 | 400 |
| 发电 | 居民 | 350 |
| 发电 | 商业 | 250 |
示例2:用户流程
| 来源 | 目标 | 用户数 |
|---|---|---|
| 首页 | 产品页 | 1000 |
| 首页 | 关于我们 | 300 |
| 产品页 | 购物车 | 600 |
| 产品页 | 退出 | 400 |
| 购物车 | 支付 | 450 |
| 购物车 | 退出 | 150 |
3. 参数设置与图表预览
<div style=“text-align: center;”> <img src=“/guide/figures/桑基图/绘图.png” width=“1200” alt=“参数设置”> </div>
桑基图提供丰富的绘图参数设置:
3.1 基础设置
- 图表标题:设置图表的标题文字
- 来源列名:选择数据中表示来源的列
- 目标列名:选择数据中表示目标的列
- 数值列名:选择数据中表示流量大小的列
3.2 颜色方案
提供6种预设颜色方案:
- 默认配色:经典的蓝绿色系
- 清新蓝绿:清爽的蓝绿渐变
- 温暖橙红:温暖的橙红色系
- 专业商务:稳重的商务蓝色
- 活力彩虹:多彩的彩虹色系
- 优雅紫粉:优雅的紫粉色系
3.3 节点设置
- 节点宽度:节点矩形的宽度(10-50,默认20)
- 较小的值使节点更细,适合节点较多的情况
- 较大的值使节点更粗,更加醒目
- 节点间距:同一列节点之间的垂直间距(5-50,默认10)
- 较小的值使布局更紧凑
- 较大的值使节点分布更疏松
3.4 连线设置
- 连线曲度:连线的弯曲程度(0-1,默认0.5)
- 0表示直线
- 1表示最大弯曲
- 0.5为适中的曲线效果
- 连线透明度:连线的透明度(0-1,默认0.3)
- 0表示完全透明
- 1表示完全不透明
- 较低的透明度可以避免连线重叠时过于杂乱
3.5 标签设置
- 显示标签:是否显示节点名称
- 显示数值:是否显示节点的总流量数值
- 标签字体大小:标签文字的大小(10-30,默认14)
3.6 导出设置
- 图片宽度:导出图片的宽度(400-4000px,默认1200px)
- 图片高度:导出图片的高度(300-3000px,默认800px)
- DPI:图片分辨率
- 72 (屏幕):适合屏幕显示
- 150 (普通):适合一般打印
- 300 (高清):适合高质量打印和论文发表
==修改好参数之后,点击下方的【生成图表】按钮,右侧的图片预览会自动更新。当调整到自己想要的效果之后,点击图片右上角的下载按钮即可下载图片。==
4. 结果解读
4.1 节点分析
节点位置:
- 左侧节点:流动的起点或来源
- 中间节点:既是某些流动的终点,又是其他流动的起点
- 右侧节点:流动的最终目的地
节点大小:
- 节点的高度表示通过该节点的总流量
- 节点越高,说明该节点的流量越大
- 可以快速识别系统中的关键节点
4.2 流向分析
连线宽度:
- 连线的宽度表示该流向的流量大小
- 连线越宽,流量越大
- 可以直观看出主要流向和次要流向
流量分配:
- 观察某个节点的流入和流出
- 流入总量应等于流出总量(中间节点)
- 可以分析流量的分配比例
4.3 系统特征识别
主要流向:
- 识别最宽的连线,找出主要流动路径
- 分析主要流向占总流量的比例
- 评估系统的流动集中度
流量损失:
- 对比上游和下游的总流量
- 识别流量损失或转化率
- 分析系统效率
瓶颈识别:
- 找出流量集中的节点
- 识别可能的系统瓶颈
- 为优化提供依据
4.4 多级流动分析
流动层级:
- 从左到右观察流动的层级关系
- 分析每一级的流量变化
- 识别关键转换环节
流量聚合:
- 观察多个来源汇聚到同一目标
- 分析流量的汇集效应
- 评估节点的重要性
流量分散:
- 观察一个来源分散到多个目标
- 分析流量的分配模式
- 识别分流规律
5. 使用建议
5.1 数据准备建议
- 数据清洗:确保数据中没有空值或无效值
- 节点命名:使用简洁明了的节点名称,避免过长
- 流量单位:确保所有流量使用相同的单位
- 数据聚合:如果原始数据过于细碎,可以先进行适当聚合
5.2 参数调整建议
- 节点数量较多时:减小节点宽度和间距,使布局更紧凑
- 流向复杂时:降低连线透明度,避免视觉混乱
- 强调流量差异时:使用对比度高的颜色方案
- 论文发表时:使用300 DPI和较大的图片尺寸
5.3 可视化优化建议
- 颜色选择:根据应用场景选择合适的颜色方案
- 能源分析:使用温暖色系
- 水资源分析:使用蓝绿色系
- 商业分析:使用专业商务色系
- 标签显示:
- 节点较少时,同时显示标签和数值
- 节点较多时,只显示标签或数值
- 图表尺寸:
- 演示文稿:1200×800或1600×900
- 论文发表:1800×1200或更大
- 网页展示:1000×600
5.4 进一步美化建议
软件自动生成的桑基图已经具有较好的视觉效果,可以直接用于报告和演示。如果需要进一步美化或调整细节,可以:
- 使用专业绘图软件(如Adobe Illustrator)进行微调
- 调整个别节点的位置以优化布局
- 添加注释说明关键流向
- 结合其他图表进行综合分析
6. 常见问题
6.1 数据相关问题
Q: 数据中有负数怎么办? A: 桑基图只支持正数流量,负数会被忽略。如果需要表示反向流动,建议将反向流动作为单独的流向记录。
Q: 可以有循环流动吗? A: 桑基图不支持循环流动(如A→B→A),这会导致布局混乱。如需表示循环,建议使用其他图表类型。
Q: 同一对节点可以有多条流向吗? A: 系统会自动将同一对节点的多条流向合并为一条,流量为各条流向的总和。
6.2 显示相关问题
Q: 节点标签重叠怎么办? A: 可以尝试:1) 增大图片高度;2) 减小标签字体大小;3) 增大节点间距;4) 只显示数值不显示标签。
Q: 连线太多看不清怎么办? A: 可以尝试:1) 降低连线透明度;2) 增大图片尺寸;3) 对数据进行聚合,减少流向数量。
Q: 颜色不够用怎么办? A: 系统会自动循环使用颜色方案中的颜色。如果节点很多,建议选择颜色种类较多的方案(如活力彩虹)。
6.3 导出相关问题
Q: 导出的图片不清晰? A: 提高DPI设置(选择300 DPI),并适当增大图片尺寸。
Q: 图片文件太大? A: 降低DPI设置或减小图片尺寸。对于屏幕显示,72 DPI通常已经足够。
Q: 如何在论文中使用? A: 建议使用300 DPI、1800×1200或更大的尺寸导出,确保打印质量。