
image.png
桑基图作为相对复杂的图表种类,平时很少用到,不仅仅是因为它的引用场景相对狭窄,另一方面则是制作难度相对较大,门槛较高。
不过针对第一个问题,如果你能很好地理解自己所涉及到的业务数据结构及想要表达和呈现的维度信息,那么关键时刻使用桑基图确实会让你的报告锦上添花。
桑基图用于表达流量分布于结构对比,最初的发明者使用它来呈现能量的流动与分布。
百度百科给了桑基图相对完善的解释:
桑基图(Sankey diagram),即桑基能量分流图,也叫桑基能量平衡图。它是一种特定类型的流程图,图中延伸的分支的宽度对应数据流量的大小,通常应用于能源、材料成分、金融等数据的可视化分析。因1898年Matthew Henry Phineas Riall Sankey绘制的“蒸汽机的能源效率图”而闻名,此后便以其名字命名为“桑基图”。
因1898年Matthew Henry Phineas Riall Sankey绘制的“蒸汽机的能源效率图”而闻名,此后便以其名字命名为“桑基图”。
桑基图最明显的特征就是,始末端的分支宽度总和相等,即所有主支宽度的总和应与所有分出去的分支宽度的总和相等,保持能量的平衡。
桑基图的特点如下:
- 起始流量和结束流量相同,所有主支宽度的总和与所有分出去的分支宽度总和相等,保持能量的平衡;
- 在内部,不同的线条代表了不同的流量分流情况,它的宽度成比例地显示此分支占有的流量;
- 节点不同的宽度代表了特定状态下的流量大小。
桑基图通常应用于能源、材料成分、金融等数据的可视化分析。
例子1:下图为 2009 年美国能源产出的分布以及能源的用途和损耗图。从图中可以明显看出主要的能源浪费发生于发电和交通

image
在echarts 里边 有sanky 流, pycharts, 也有这个图的包, 我们也可以参考决策树的可视化方法来绘制
ref:杜雨 https://zhuanlan.zhihu.com/p/26897906
https://antv.vision/old-site/vis/doc/chart/details/sankey.html