桑基图(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,试试看吧!
文章部分信息来源于网络,如有侵权请告知