上圖是一個簡單到桑基圖也是本次實現的目標
一、前言
桑基圖(Sankeydiagram),即桑基能量分流圖,也叫桑基能量平衡圖。它是一種特定類型的流程圖,圖中延伸的分支的寬度對應數據流量的大小,通常應用於能源、材料成分、金融、零售等數據的可視化分析。由於Tableau的設計初衷原因(專業),不能直接使用Tableau繪製桑基圖需要一些技巧,下面一起來試試吧!
二、準備數據
我們實際應用的時候也要將數據複製一份添加rowtype字段一部分爲1,另一部分爲49
三、實際操作
- 讀取數據後先點擊rowtype創建數據級:數據桶大小爲1
- 先實現兩個堆疊條,描述產品類型、區域分別與銷量的關係,如下圖:
- 繪製桑基圖:
- 首先我們需要創建計算字段:
字段名 | 計算 |
---|---|
t | (index()-25)/4 |
logistic | 1/(1+EXP(1)^-[t]) |
Size | RUNNING_AVG(SUM([銷量])) |
Rank1 | RUNNING_SUM(SUM(銷量))/TOTAL(SUM([銷量])) |
Rank2 | RUNNING_SUM(SUM(銷量))/TOTAL(SUM([銷量])) |
F(t) | [Rank1]+(([Rank2]-[Rank1])*[logistic]) |
- 創建完成後,我們開始將對應的度量和緯度數據拖入對應位置,如下圖:
- 修改計算依據:右鍵點擊F(1)然後選擇編輯表計算
打開嵌套計算下拉選框,分別對Rank1、Rank2選擇特定緯度,然後全部勾選產品類型、區域、路徑,需要注意⚠️的是 t 只需要勾選路徑即可
然後將Size 和 t 的計算依據全部修改爲路徑(Size也要修改)
然後效果如下圖:
接下來我們重新打開F(t)的編輯表計算,然後將特定緯度中的順序進行調整
選擇 Fank1、Fank2 任意一個計算字段拖動調整位置,然後效果就出來了:
- 優化細節進行調整
- 編輯軸調整軸範圍,t軸範圍爲(-5~5)F(t)範圍爲(0~1)操作如下圖:
到目前爲止桑基圖到雛形就已經出來了,然後就是設置工作表格式、取消顯示標題、刪除網格線,這裏就不詳細介紹了,顏色和其它格式,大家自己發揮創意吧!