桑基圖(Sankeydiagram),即桑基能量分流圖,也叫桑基能量平衡圖。它是一種特定類型的流程圖,圖中延伸的分支的寬度對應數據流量的大小,通常應用于能源、材料成分、金融、零售等數據的可視化分析。
每次為用戶演示桑基圖時,都會有人問:用 Tableau 做桑基圖會不會很難?
我想說:相對基礎的圖表而言,桑基圖的制作本身是有一定難度。但是,我相信智慧的數據粉們肯定都能學會。
本期《舉個栗子》,阿達要給大家分享的 Tableau 技巧是:學做漂亮的桑基圖Sankeydiagram。
我們將如下圖,得出各產品類型向各區域的銷售額流向。
需要說明的是:桑基圖是由3個工作簿組成的,2個堆疊條以及1個S型連線圖。堆疊條的做法比較簡單,可參看下圖。
今天要重點為大家講解桑基圖的關鍵即 S 型連線的做法,這里需要用到常見的 S 型函數:logistic函數,即
具體步驟如下:
數據準備
以下是原始數據源:
處理數據源有兩種方法,你可以根據數據量的大小選擇:
方法一:數據量少的話,我們可以將數據復制一遍粘貼在原數據后,同時新增一列rowtype,該列原數據以1填充,復制數據以49填充,得到如下新數據源:
方法二:如果數據量比較大,顯然方法一用復制粘貼的方式新增行是不理想的選擇;我們只需要在原始數據源上增加一列D,且數值均為1,變成如圖所示:
接下來,我們需要用左聯接的方式實現數據的復制,新建一份如下圖的表:
將兩份數據源導入?Tableau Desktop?中,實現表連接?。
創建以下字段:
創建圖表
將t拖到列中,F(t)拖到行中,同時產品類型、Size、區域、分別拖到標記卡的對應位置,如下圖:
用rowtype創建一個數據桶,數據桶大小為1。(注:需要完成以上圖表的創建,然后再新建數據桶)
將”路徑”拖至標記下的路徑,如圖所示:
沒有圖形出現,對吧?這不是你做錯了,是因為此時的計算依據是不對的,因此我們需要修改計算依據。
修改計算依據
選擇行中的F(t),編輯表計算
將嵌套計算Rank1 、Rank 2以及t都改為特定維度。Rank1為產品類型、區域、路徑,Rank2為區域、產品類型、路徑(需要特別注意修改該順序,使之與Rank1不同),t只勾選路徑。列中的t與標記卡中的Size也需要修改計算依據為特定維度-路徑。
調整細節
右鍵點擊坐標軸,選擇編輯軸,t固定開始結束為-5和5,F(t)固定開始結束為0到1。
選擇軸將顯示標題的√去掉,同樣F(t)執行操作,從而隱藏t與F(t)的坐標軸。
完成后,使用水平容器再把將所做的堆疊條與S型連線圖在同一個儀表板中進行排版
添加突出顯示功能,勾選產品類型和區域
將桑基圖進行降序處理:
如此,我們就得到了可直觀看出銷售額流向的桑基圖了!
今天的Tableau技巧,你Get到了嗎?趕快打開你的Tableau,試試看吧!
文章部分信息來源于網絡,如有侵權請告知