R桑基图
桑基圖(Sankey diagram),即桑基能量分流圖,也叫桑基能量平衡圖。它是一種特定類型的流程圖,圖中延伸的分支的寬度對應數據流量的大小,通常應用于能源、材料成分、金融等數據的可視化分析。因1898年Matthew Henry Phineas Riall Sankey繪制的“蒸汽機的能源效率圖”而聞名,此后便以其名字命名為“桑基圖”。桑基圖最明顯的特征就是,始末端的分支寬度總和相等,即所有主支寬度的總和應與所有分出去的分支寬度的總和相等,保持能量的平衡。
制作工具就有:JS庫(D3、Ecgarts、highlight)、R、Python、PowerBI、Tableau、BDP個人版。
在R里,有三個包可以繪制桑基圖:
library(riverplot)
library("d3Network")
library(Networkd3)
然而第一個包特色過于鮮明,第二個包對中文不太友好,所以個人偏向于第三個包。而在繪制桑基圖中,我卡在了數據結構上。。。
栗子:以分析用戶購買行為為例繪制桑基圖。假設有產品A/B/C三種,分析用戶購買路徑,第一次買了什么,第二次買了什么,第三次買了什么。源數據共21個用戶,如下:
總結
- 上一篇: tableau系列之如何将甘特图做成瀑布
- 下一篇: 使用R画桑基图(流程图)