查看原文
其他

利用Tableau绘制辐射堆叠图,炫酷易上手

凹凸数据 2021-08-09

The following article is from Tableau交流问答群 Author TOAN HOANG

每晚九点,我们准时相约  


01

前言



我在不久前见到过这样的图,我就想可以写一篇关于如何在Tableau中创建辐射堆叠图,这是个基于合计百分比运算的堆叠图,但整体的形状是圆形的,作图的整个过程十分有趣,我希望你可以享受它。



备注:辐射堆叠图其实是数据可视化中的非常规类型,有时候是客户要求的,在正式将可视化部署于生产环境前,务必找一个最优的选择。





02

数据准备



我们先使用Tableau读取自带的“示例 - 超市”数据源,当然也可以通过如下


链接下载:

https://pan.baidu.com/s/1QvmoV8gocp6MPkdqOUpzaQ 

提取码:rjdm



读取完成后,右键数据源并点击“编辑数据源”,新增如下数据源(model.xlsx)并做关联



因为没有可以用于关联的字段所以你会看到一个报错,这时选中关联的圈圈处,点击“添加新的链接字句”,选中“创建链接计算”,进入新建字段界面并输入1,同样在右边也选中“创建链接计算”,确保使用的是内链接,最终效果见下图



备注:我们需要额外的记录因为我们需要绘制线条并使用数据密度来得到更多的点,对于“数据密度”的进一步讲解在这篇文章中。


03

计算字段


数据全部读取完成之后,我们需要

创建如下数据桶和计算字段


路径(数据桶)

选中字段“路径”,右键创建数据桶

在数据桶编辑界面中,将“数据桶大小”设置为1,并点击“确定”


索引  INDEX()-1


表计算_步长  3.6/12


表计算_日期部分

WINDOW_MAX(MAX(DATEPART('month', [订单日期])))-1


表计算_细分销售额

WINDOW_SUM(SUM([销售额]))/2

备注:因为我们要使用数据密度,这样会使我们的值翻倍,所以为了最终的正确值,我们需要除以2


表计算_细分总销售额

WINDOW_SUM(SUM([销售额]))/2


表计算_细分销售额百分比

[表计算_细分销售额]/[表计算_细分总销售额]


表计算_起始点

[表计算_日期部分]*[表计算_步长]*100


表计算_前一百分比

RUNNING_SUM([表计算_细分销售额百分比])-[表计算_细分销售额百分比]


X

IF [索引] <= 100 THEN

SIN(RADIANS(([索引]*[表计算_步长])+[表计算_起始点]))*(1+[表计算_前一百分比])

ELSE

SIN(RADIANS(((201-[索引])*[表计算_步长])+[表计算_起始点]))*(1+[表计算_细分销售额百分比]+[表计算_前一百分比])

END


Y

IF [索引] <= 100 THEN

COS(RADIANS(([索引]*[表计算_步长])+[表计算_起始点]))*(1+[表计算_前一百分比])

ELSE

COS(RADIANS(((201-[索引])*[表计算_步长])+[表计算_起始点]))*(1+[表计算_细分销售额百分比]+[表计算_前一百分比])

END


04

建立工作表


●拖“订单日期”至“筛选器”,并选中“2018”

●将“标记栏”中的类型改为“多边形”

●拖“路径(数据桶)”至“列”

     ♢ 在胶囊处右键并确保“显示缺失值”是选中状态

     ♢ 将胶囊拖至“标记栏”中的“路径”

●拖“细分”至“标记栏”中的“颜色”

●拖“订单日期”至“标记栏”中的“详细信息”

     ♢ 在胶囊处右键,并将其转化为“离散”与“月”

●拖“X”至“列”

     ♢ 在胶囊处右键,将计算依据改为“路径(数据桶)”

●拖“Y”至“行”

     ♢ 在胶囊处右键,将计算依据改为“路径(数据桶)”

全部操作完成后会看到如下图形:



看上去还不错,但这不是我们需要的最终效果,我们现在需要调整一下表计算



●右击“X”并选择“编辑表计算”

     ♢ 在“嵌套计算”处,将计算依据改为“表计算_前一百分比”

     ♢ 在“计算依据”处,将计算依据改为“细分”

     ♢ 在“嵌套计算”处,将计算依据改为“表计算_细分销售额”

     ♢ 在“计算依据”处,将计算依据改为“特定维度”,选中“细分”与“路径(数据桶)”,并把“细分”拖到顶部

     ♢ 所在级别选为“最深”,重新启动间隔选为“细分”

     ♢ 在“嵌套计算”处,将计算依据改为“表计算_细分总销售额”

     ♢ 在“计算依据”处,将计算依据改为“特定维度”,选中“细分”与“路径(数据桶)”,并把“细分”拖到顶部

     ♢ 所在级别选为“最深”,重新启动间隔选为“无”

     ♢ 对Y也重复上述操作



●右击“Y”并选择“编辑表计算”

     ♢ 在“嵌套计算”处,将计算依据改为“表计算_前一百分比”

     ♢ 在“计算依据”处,将计算依据改为“细分”

     ♢ 在“嵌套计算”处,将计算依据改为“表计算_细分销售额”

     ♢ 在“计算依据”处,将计算依据改为“特定维度”,选中“细分”与“路径(数据桶)”,并把“细分”拖到顶部

     ♢ 所在级别选为“最深”,重新启动间隔选为“细分”

     ♢ 在“嵌套计算”处,将计算依据改为“表计算_细分总销售额”

     ♢ 在“计算依据”处,将计算依据改为“特定维度”,选中“细分”与“路径(数据桶)”,并把“细分”拖到顶部

     ♢ 所在级别选为“最深”,重新启动间隔选为“无”

一切顺利后,就可看到如下图形:



现在我们做可视化的最后一步的调整

● 隐藏轴

● 隐藏零值线

● 隐藏网络线

● 增加工具提示

● 增加白色边框

 

现在稍微花点时间来研究下表计算的原理,主要是如下几个方面:

● 销售额计算基于每个月的每个细分

● 总销售额计算基于每个月

● 百分比值基于每个细分

● 最后将他们堆叠在一起







近期文章,点击图片即刻查看

后台回复「进群」,加入读者交流群~

点击积分,了解积分规则~

本文为“Peter Zhong”推荐,获得20积分奖励~

如果大家想要投稿or荐文,点击凹凸数据菜单栏即可!

朱小五

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存