当前位置: 首页 > news >正文

桑基图、弦图、旭日图:如何表现复杂流向关系

桑基图、弦图、旭日图:如何表现复杂流向关系

在数据可视化的世界里,有一类图表特别“有气质”——它们不追求简洁对比,而是专门用来揭示复杂的流向与关系。
这类图表往往能把原本看似杂乱无章的多维数据,变成一幅优雅的“流动之网”。

其中,桑基图(Sankey Diagram)弦图(Chord Diagram)、和 旭日图(Sunburst Diagram) 是三种最典型的代表。

今天我们就来聊聊它们的用途、特点、技术原理,以及在真实业务中的应用案例。


一、桑基图:让“流动”变得可见

1. 什么是桑基图?

桑基图最初用于能源系统分析,用来展示能量在各环节的流动与损耗。后来,这种“流向可视化”的理念逐渐扩展到商业、用户行为、供应链乃至算法分析中。

简而言之:

桑基图展示的是“从哪里流到哪里”以及“流了多少”。

在图中,每一个节点代表一个阶段或类别,而连接它们的“流”——就是数据的传递关系,线的宽度代表流量或权重。


2. 为什么它对“序列分析”特别有用

在数据挖掘中,我们经常会遇到“序列模式”问题:

  • 用户在电商平台上的浏览路径是什么?
  • 客户在不同渠道间如何迁移?
  • 某种操作序列在系统日志中出现的频率有多高?

这些问题的答案往往涉及“路径”与“权重”。

在这一点上,桑基图与 频繁模式树(FP-Tree) 有着天然的相似性。
FP-Growth 算法中,我们通过节点和频数的累加构建一棵树来表示频繁项集,而桑基图恰好能用视觉方式呈现这些“路径”和“频数”。

所以,在做序列挖掘路径分析时,桑基图几乎是首选。


3. 实际案例:客户购买路径分析

假设我们分析一家电商平台的用户行为数据:

步骤内容
Step 1用户先浏览了“手机”
Step 2部分用户转向“手机壳”或“耳机”
Step 3最终有些人购买了“充电宝”或“保护膜”

通过桑基图,我们能看到这样的流向:

  • “手机 → 耳机” 的流向线很粗,说明购买手机的用户中有大量转向耳机;
  • “手机壳 → 保护膜” 的线条细,表示转化较少;
  • 若我们按时间或渠道过滤,还可以发现不同入口的转化差异。

这种直观的“流动可视化”,让市场分析师能够一眼看出关键路径,从而优化营销策略或推荐逻辑。


4. 技术实现的挑战

目前的可视化工具(如 Tableau、Power BI)虽然支持桑基图,但自定义灵活性不高。
很多时候我们需要通过 Python(plotly、matplotlib-sankey)D3.js 自行实现。

这通常涉及:

  • 对数据进行“节点–连接–权重”格式的重构;
  • 聚合相似路径;
  • 计算权重占比;
  • 调整布局参数,避免线条过度交叉。

因此,桑基图虽然炫酷,但属于高门槛、低容错的图表类型。


二、弦图:关系网络的优雅表达

1. 概念与特征

弦图(Chord Diagram)是一种用于展示矩阵型关系的图表,能直观地表现多个实体之间的相互影响与流量

在图中,所有节点被均匀地排列在圆周上,节点间的“弧线”表示它们之间的关系。
弧线越粗,关系越强;颜色可以表示方向或类别。

它的核心在于:

弦图是对称的、双向的关系可视化。


2. 应用场景

场景示例
贸易流动各国之间的进出口额
社交关系用户间的互动强度
部门流动员工跨部门调动情况
产品交叉销售A商品购买者同时购买B商品的比例

例如,当我们分析公司内部的人员流动时,弦图可以这样展示:

  • “市场部 ↔ 销售部” 的弧线很粗,说明人员调动频繁;
  • “研发部 → 运营部” 的方向明显单向;
  • 小部门间的联系细微,显示互动较少。

这比一张矩阵表要直观得多。


3. 优势与局限

优势:

  • 能清晰展示任意两者间的关系强度;
  • 可展示双向或多向流动;
  • 美观且交互感强,非常适合“展示型”分析报告。

局限:

  • 当节点数量超过 15 个,弦图会变得非常混乱;
  • 对阅读者要求较高,不熟悉关系型图表的人可能难以快速理解。

因此,弦图更适合展示中等规模、关系密集的数据系统,而非大规模复杂网络。


三、旭日图:层级结构的放射式拆解

1. 旭日图的设计哲学

旭日图(Sunburst Diagram)看起来像一朵放射状的花。
它把分层结构数据映射成一个个同心圆,每一层代表一个层级:

最内圈是顶层类别,往外一圈一圈是细分层级。

每个扇形的角度代表占比或数量,环的宽度表示层级深度。


2. 应用场景

场景示例
销售分解年度 > 季度 > 月份 > 产品线
网站分析来源类型 > 渠道 > 页面
文件系统文件夹 > 子文件夹 > 文件大小
财务结构总支出 > 部门 > 具体费用类型

旭日图擅长回答的问题是:

  • “某个部分占整体的比例是多少?”
  • “它属于哪个更大的层级?”
  • “在整体结构中,它的位置在哪里?”

例如:
在网站流量分析中,旭日图可以清楚展示“直接访问”、“搜索引擎”、“社交媒体”等来源各自的占比,并能逐层展开到具体的渠道或落地页面。


3. 优势与局限

优势:

  • 结构清晰、分层直观;
  • 利用空间高效,可展示多个层级;
  • 可结合交互实现逐层下钻分析。

局限:

  • 层级太多时外圈拥挤,阅读困难;
  • 不适合时间序列或非层级数据。

旭日图最适合在层级清晰的数据中使用,如组织结构、分类体系、或财务拆解分析。


四、如何选择:三者的对比与决策指南

图表类型最适合场景数据结构视觉核心优势局限
桑基图展示流向、路径、转化关系序列/路径型流线宽度展示数据流动与转化直观实现复杂,线条易交叉
弦图展示实体间的双向关系矩阵型圆弧与弦线表达关系强度、方向节点多时杂乱
旭日图展示层级结构和占比分层结构同心圆环层级清晰,占比直观外层空间有限

因此,你可以这样判断:

  • 分析行为流动或转化路径?→ 用桑基图。
  • 展示多实体间的交互与影响?→ 用弦图。
  • 展示结构化的层级分解?→ 用旭日图。

这三种图的视觉风格虽然不同,但都服务于同一个目标——让复杂关系变得直观、结构化、可探索。


五、实战思考:从图表到洞察

可视化的本质,不是“炫技”,而是“洞察传递”。
选对图表,才能让复杂关系“一眼就懂”。

几个实用建议:

  1. 从业务问题出发,而非从图表出发。
    先问清楚“我要揭示什么关系?”,再决定是否需要桑基、弦或旭日。
  2. 控制节点数量。
    复杂关系图不等于复杂视觉。适度聚合、合并小节点能提升可读性。
  3. 用交互补充静态局限。
    通过 Hover 展示细节或动态过滤,让图表既美观又实用。
  4. 与算法结果结合。
    桑基图 + FP-Growth、弦图 + 相关矩阵、旭日图 + 层级聚类——这些组合能让可视化与建模融为一体。

✨结语

桑基图、弦图、旭日图并不是日常可视化的“基础款”,但它们能在恰当场景下呈现出结构、流动与比例的复杂之美

如果折线图像是时间的轨迹、柱状图像是数量的对比,那么这三类图,就像是“关系的地图”——
让我们在数据的网络中,看见流向、看见关联,也看见系统的整体逻辑。

http://www.dtcms.com/a/503164.html

相关文章:

  • 网站赚钱系统爬虫搜索引擎
  • 深度学习——循环神经网络(RNN)实战项目:基于PyTorch的文本情感分析
  • Java 中 List 与数组的转换
  • Flink SQL 与 Kafka 整合详细教程
  • 机票售票网站开发wordpress前台显示友链
  • 电子电气架构 --- 汽车软件架构未来的发展方向
  • JavaScript 表单验证
  • android - JPG图片转换HDR图片,heic格式
  • 【C语言】文件操作(附源码与图片)
  • Vue-Router4使用详解(结合Vue3)
  • 免费做做网站网站建设优化方法 s
  • 图书馆理论与建设网站北京工程建设监理协会网站
  • postman 调用接口设置全局变量
  • Lua协程coroutine库用法
  • 若依字典原理---后端
  • SpringBoot 接入 Prometheus + Grafana
  • 自己有网站怎么做优化实时热榜
  • 基于SpringBoot的“基于数据安全的旅游民宿租赁系统”的设计与实现(源码+数据库+文档+PPT)
  • 海宁公司做网站wordpress编辑器存内容
  • 旅游管理系统|基于SpringBoot和Vue的旅游管理系统(源码+数据库+文档)
  • DAQ系统混合方案与设计模式详解
  • 【Linux系统编程】3. Linux基本指令(下)
  • sql练习-5
  • 做网站审批号必须要wix做网站的建议
  • YAML的Value表示
  • 如何在Gitee和GitHub上部署SSH公钥
  • 成都高新网站建设美图秀秀在线制作
  • Flutter Isolate的使用
  • 从 JDK 8 到 JDK 23:HotSpot 垃圾回收器全景演进与深度剖析
  • 深圳网站建设jm3q网站是公司域名是个人可以吗