暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

你知道什么是桑基图?

951

点击标题下「蓝色微信名」可快速关注

前几天,朋友提到一种数据统计分析的图类型——桑基图,确实之前了解比较少,找了一些资料,学习了解下。

桑基图是一种图表类型,用于可视化流量、能量、资源或数量的流动。它通过使用有向箭头连接不同的节点来显示流动的路径和量级。

桑基图常用于可持续能源、物流、人口流动、资源分配等领域的数据可视化。它可以帮助用户直观地理解和分析复杂的流动和关系,从而支持决策和策划过程。

桑基图的创始人叫"桑基",英文名Sankey,全名Matthew Henry Phineas Riall Sankey CB CBE FIMechE,爱尔兰工程师,英国军队皇家工程局(Royal Engineers)的上校(Caption)。英国上将William Sankey, C.B之子,自幼受到了很好地教育。

桑基图最初是用来描述蒸汽机(steam engine)的热量流转效率(energy flow efficiency),下图来自于1898年的Sankey图示,相对而言形式更加严谨复杂,

在这里,连续性的度量是"热量",离散的输入和输出代表维度分类。如右侧所示,内燃机能量的取向,除了正常的做功驱动机器运转,相当多的能力被浪费掉了,包含驱动损失、齿轮等磨损损失、热流失等等。

能量是守恒的,Sankey发明的这个图很好地描述了热量的输入和输出之平衡关系,帮助设计者理解和改进,所以又称之为"热平衡图",

桑基图的特点

  1. 节点:

    桑基图由一系列节点组成,每个节点代表一个特定的实体或类别。

    节点可以代表不同的产品、部门、地区等。

  2. 箭头:

    箭头表示流动的路径,从一个节点流向另一个节点。

    箭头的宽度通常表示流量或数量的大小。

  1. 流量量级:

    桑基图可以显示不同节点之间的流量量级,通过箭头的宽度来表示。

    宽度越大,表示流量或数量越大。

  2. 路径:

    桑基图可以显示多个节点之间的复杂路径,通过连接不同的节点和箭头来表示。

  3. 颜色编码:

    桑基图可以使用颜色来编码不同的节点或流动路径,以帮助用户更好地理解和区分不同的实体或类别。

解了桑基图的特征,我们就可以在各个业务场景中找到它的经典应用,它适合于任何具有输入和输出两段维度的连续性度量分析,例如资金审计、热电厂能耗、物流成本等。

如下所示的应用场景强调了"连续度量"的重要性,而其起点和终点就是桑基图的两段,

  1. 能源流动:展示能源(度量值)从来源(input)到最终用途(output)的转化和分布,如电力或热能的生产、传输和消耗过程。

  2. 成本流分析:在生产和服务过程中,通过桑基图可以直观地显示不同成本因素(原材料、人工、运输等)如何组成总成本。

  3. 物料与资源流:用于展示在生产系统中物料的流动路径和损耗情况,帮助优化资源利用效率。

  4. 网站用户行为:分析用户在网站或应用中的行为路径,如页面访问流程、购物车添加到购买的转化流程等。

  5. 供应链与物流:显示产品从原材料采购、生产加工到最终销售的全过程中的物流和信息流。

  6. 生信分析:如构建ceRNA调控网络,单细胞亚群分类,物种门类分类,基因组重测序变异类型等。

  7. 金融数据可视化:追踪用户状态,追踪跑票、变动、迁移,追踪人口流动情况等。

之前,桑基图是比较难以实现的复杂图形,它不仅比条形图多了一个维度,而且多个维度有先后。它包含连续性的度量,但是又没有显而易见的度量轴。

但是,随着越来越多的BI工具内嵌了桑基图图表,一切变得简单。

设计的注意事项

在设计桑基图图表时,以下是一些需要注意的事项,

  1. 数据准备:

    确保数据准备充分,包括节点和流量的数据。

    节点应该清晰明确,流量数据应该准确可靠。

  2. 简洁明了:

    桑基图应该保持简洁明了,避免过多的节点和复杂的路径。

    过多的节点和路径可能会导致图表混乱不清晰,难以理解。

  1. 良好的布局:

    选择合适的布局方式,使得节点和箭头的排列有一定的逻辑性。

    可以按照流动的方向或重要性进行布局。

  2. 色彩选择:

    选择合适的色彩来区分不同的节点和流动路径。

    颜色应该鲜明对比,以便用户能够清晰地区分不同的实体或类别。

  3. 箭头宽度控制:

    根据流量的大小,合理调整箭头的宽度。
    宽度应该能够直观地反映流量的差异,但也不能过于夸张。
如下是环状桑基图的示例,
  1. 标签和注释:为节点和箭头添加标签和注释,以便用户能够理解图表的含义。标签应该简洁明了,能够清晰地描述节点和流动的含义。

  2. 交互性:考虑为桑基图添加交互性,例如鼠标悬停显示详细信息、点击节点展开子节点等。交互性可以增强用户体验,使得用户能够更深入地探索数据。

  3. 可视化工具:使用专业的可视化工具或库来创建桑基图,例如D3.js、Tableau、Power BI等。这些工具提供了丰富的功能和模板,能够帮助您更轻松地创建和定制桑基图。

通过注意以上这些的事项,可以设计出清晰、易于理解和美观的桑基图图表,帮助用户更好地理解和分析数据的流动和关系。

复杂图形无一例外都是简单可视化的堆叠,因此理解桑基图的起点是条形图和折线图。条形图(bar chart)是一个离散维度、一个连续度量构成的"排序主题"可视化,而折线图(line chart)是一个连续维度(日期)、一个连续度量构成的"趋势主题"可视化,桑基图(Sankey Chart)则是两个或离散维度和一个连续度量构成的"流向主题"视化。

桑基图必须要有两个或以上的维度分类,两个维度分类有必然的先后次序,分别表示流向的起点、终点。

桑基图必须要有且只有一个连续的度量值,用来表示流向的对象,例如资金的流向、燃气的流向等等。


参考资料,

https://zhuanlan.zhihu.com/p/698699986


如果您认为这篇文章有些帮助,还请不吝点下文章末尾的"点赞"和"在看",或者直接转发朋友圈,



近期更新的文章:
MySQL主键等值查询加的锁?
SRE故障复盘有什么好处?
MySQL含有下划线的数据库名在特殊情况下导致权限丢失的场景
深入理解MySQL中的SQL_MODE系统参数作用
系统可用性"X个9"的含义探索

热文鉴赏:
中国队“自己的”世界杯
你不知道的C罗-Siu庆祝动作
架构设计的15个关键概念
大阪环球影城避坑指南和功略
推荐一篇Oracle RAC Cache Fusion的经典论文
"红警"游戏开源代码带给我们的震撼

文章分类和索引:
公众号1500篇文章分类和索引

文章转载自bisal的个人杂货铺,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论