平淡
鏑數(https://dydata.io)是一個提供在線圖表分析的網站,我們可以自己上傳數據快速生成?;鶊D。
首先使用Excel準備需要制作?;鶊D的數據,因為桑基圖主要用來表示流量分析,它一般由“邊”和“節點”組成,邊對應原始數據源,然后映射到對應的節點。因此制作?;鶊D的數據最好是一些表示流量分流的數據,并且預先規劃好映射關系。這里我們以某公司回籠貨款的區域、省份分布為例,對應關系是“貨款→大區→所屬省份”,按提示依次在Excel中準備好對應的數據,文件格式注意對應關系(圖1)。
在瀏覽器中打開上述網址,進入網站后點擊“做圖表→上傳數據”,按提示將上述準備好的數據上傳到網站,然后按照向導的提示選擇“?;鶊D”模板(圖2),這樣就可以快速生成桑基圖了。
按提示設置好圖表標題、單位、數據來源,關閉水印和Logo顯示。預覽滿意后點擊“下載”到本地備用(如果需要在PPT中演示,建議下載為GIF格式,這樣會有一個從左到右的動態流向效果),以后將其插入到Excel或者PPT中,就可以通過這個圖表清晰地看到回籠資金的來源和分布了(圖3)。
在線制作雖然簡單,但是免費用戶有下載次數的限制,而且網站自帶模板較少。如果經常需要制作桑基圖,那么還可以借助“Tableau桌面版”(下載地址:https://www.tableau.com/products/desktop)來實現。


Tableau桌面版制作?;鶊D通過兩個工作表鏈接比較容易實現,因此我們首先需要對數據進行整理,下面依然以某公司各個銷售部貨款回籠數據為例。為了更精準地實現關系映射,這里先在原始數據后添加“省份ID”(按照序號填充即可,對應具體省份)、“部門ID”(對應實際銷售部,四個部門ID分別設置為2、10、18、26)、“link”(全部填充link字樣,對應另一張工作表的link字段)等三列信息。同時再建一個新工作表2,在其中將E1、F1分別輸入“橫坐標”和“link”。因為這里數據總共39行,先在E21輸入“0”,E20輸入“-1”,E22輸入“1”并將步進設置為“1”,依次向上和向下填充到E2和E40(圖4)。
完成Tableau桌面版的安裝后,雙擊桌面的“Preferences.tps”啟動程序。點擊“打開工作簿”,然后導入上述制作好的數據文件,在打開的窗口將導入工作表的“Sheet1”和“Sheet2”依次拖到右側窗格,并使用內部鏈接的方式進行連接(圖5)。
切換到下方的“工作表2”,在“度量”下右擊其中的“記錄數”,選擇“新建計算字段”。在打開的窗口中按提示新建一個名為“函數”的新字段,字段內容輸入“1/(1+exp(1)^-[橫坐標])”(不合外側引號,下同)。這是一個S型生長曲線函數,它的作用是將變量映射到“0,1”之間,生成?;鶊D中的S型曲線(圖6)。
操作同上,繼續新建一個名為“縱軸顯示”的新字段,字段內容輸入“[省份|D]+(([部門ID]-[省份ID])*[函數])”。這個字段生成?;鶊D的左側邊內容,其中字段名稱(省份ID、部門ID)要和原始數據中的名稱一致,[函數]字段名稱與上述新建字段名稱一致。
完成上述操作后,將“Shcct2”下的“橫坐標”字段拖到右側窗格的“列”,將新建的“縱軸顯示”字段拖到“行”,同時點擊“縱軸顯示”字段后的下拉按鈕,在展開的菜單中將其設置為“維度”(圖7)。
繼續將左側窗格“Sheet1”下的“銷售部門”和“所轄省份”字段、“Shcct1”下的“銷售金額”字段拖到右側窗格“標記”選項的下方。點擊“銷售部門”前的按鈕,將其設置為“顏色”,點擊“總和(銷售金額)”前的按鈕設置為“大小”(這樣每條曲線大小和金額對應,可以在右側窗格對顯示圖例、大小進行更多設置),這樣一幅?;鶊D就完成了。在右側選擇不同的銷售部門,或者點擊其中的任意線條,可以很清晰地看到具體省份貨款回籠數字(圖8)。
如果需要導出桑基圖,只要在圖表上右擊選擇“拷貝→圖像”,將其粘貼到Excel、PPT中即可使用了。當然選擇不同的字段還可以制作出不同形狀的?;鶊D,或者其他圖表,而且借助Tableau還可以對數據進行各種分析,大家不妨自行去下載嘗試(圖9)。