美文网首页举个栗子!Tableau技巧TableauR语言学习笔记
举个栗子!Tableau技巧(25):学做漂亮的桑基图Sanke

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

作者: 阿达_优阅达 | 来源:发表于2018-04-16 09:47 被阅读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,试试看吧!


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

    相关文章

      网友评论

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

        本文链接:https://www.haomeiwen.com/subject/xnsskftx.html