举个栗子!Tableau技巧TableauR语言学习笔记

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

2018-04-16  本文已影响4841人  阿达_优阅达

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


每次为用户演示桑基图时,都会有人问:用Tableau做桑基图会不会很难?

我想说:相对基础的图表而言,桑基图的制作本身是有一定难度。但是,我相信智慧的数据粉们肯定都能学会。

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

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

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

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

具体操作步骤如下:

一、数据准备

首先,需要对数据源做一些处理。为让制作更简易选择已进行聚合后的数据作为原数据源,以下为原数据源。

我们需要将数据复制一遍粘贴在原数据后,同时新增一列,该列原数据以1填充,复制数据以49填充,得到如下新数据源。篇幅有限,此处如有疑问请咨询阿达

二、创建所需数据

用rowtype创建一个数据桶,数据桶大小为1。

创建以下计算字段:

字段名计算

t(index()-25)/4

logistic1/(1+EXP(1)^-[t])

SizeRUNNING_AVG(SUM([销售额]))

Rank 1、Rank 2RUNNING_SUM(SUM([销售额]))/TOTAL(SUM([销售额]))

F(t)[Rank 1]+(([Rank 2] - [Rank 1])*[logistic])

三、尝试制图

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

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

四、修改计算依据

选择行中的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型连线,如下图。

完成S线图后,再把将所做的堆叠条与S型连线图在同一个仪表板中进行排版。通过位置调整、突出显示等等,我们就得到可直观看出销售额流向的桑基图了。

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


文章部分信息来源于网络,如有侵权请告知

上一篇 下一篇

猜你喜欢

热点阅读