举个栗子!Tableau 技巧(25):学做漂亮的桑基图 Sankeydiagram

published: 2022-10-24

桑基图(Sankeydiagram),即桑基能量分流图,也叫桑基能量平衡图。它是一种特定类型的流程图,图中延伸的分支的宽度对应数据流量的大小,通常应用于能源、材料成分、金融、零售等数据的可视化分析。

每次为用户演示桑基图时,都会有人问:用 Tableau 做桑基图会不会很难?其实,相对基础的图表而言,桑基图的制作本身是有一定难度。但是,我相信智慧的数据粉们肯定都能学会。

本期《举个栗子》,阿达要给大家分享的 Tableau 技巧是:学做漂亮的桑基图 Sankeydiagram。

我们将如下图,得出各产品类型向各区域的销售额流向。

需要说明的是:桑基图是由3个工作簿组成的,2个堆叠条以及1个S型连线图。堆叠条的做法比较简单,可参看下图。

今天要重点为大家讲解桑基图的关键即 S 型连线的做法,这里需要用到常见的 S 型函数:logistic函数,即

具体步骤如下:

Step 1:数据准备

以下是原始数据源:

处理数据源有两种方法,你可以根据数据量的大小选择:

方法一:数据量少的话,我们可以将数据复制一遍粘贴在原数据后,同时新增一列rowtype,该列原数据以1填充,复制数据以49填充,得到如下新数据源:

方法二:如果数据量比较大,显然方法一用复制粘贴的方式新增行是不理想的选择;我们只需要在原始数据源上增加一列D,且数值均为1,变成如图所示:

接下来,我们需要用左联接的方式实现数据的复制,新建一份如下图的表:

将两份数据源导入 Tableau Desktop 中,实现表连接 。

创建以下字段:

Step 2:创建图表

将t拖到列中,F(t)拖到行中,同时产品类型、Size、区域、分别拖到标记卡的对应位置,如下图:

用rowtype创建一个数据桶,数据桶大小为1。(注:需要完成以上图表的创建,然后再新建数据桶)

将”路径”拖至标记下的路径,如图所示:

没有图形出现,对吧?这不是你做错了,是因为此时的计算依据是不对的,因此我们需要修改计算依据。

Step 3:修改计算依据

选择行中的F(t),编辑表计算

将嵌套计算Rank1 、Rank 2以及t都改为特定维度。Rank1为产品类型、区域、路径,Rank2为区域、产品类型、路径(需要特别注意修改该顺序,使之与Rank1不同),t只勾选路径。列中的t与标记卡中的Size也需要修改计算依据为特定维度-路径。

Step 4:调整细节

右键点击坐标轴,选择编辑轴,t固定开始结束为-5和5,F(t)固定开始结束为0到1。

选择轴将显示标题的√去掉,同样F(t)执行操作,从而隐藏t与F(t)的坐标轴。

完成后,使用水平容器再把将所做的堆叠条与S型连线图在同一个仪表板中进行排版

添加突出显示功能,勾选产品类型和区域

将桑基图进行降序处理:

如此,我们就得到了可直观看出销售额流向的桑基图了!

今天的Tableau技巧,你Get到了吗?赶快打开你的Tableau,试试看吧!


更多相关信息,请访问专题页: Bi可视化数据工具