前言
我在不久前见到过这样的图,我就想可以写一篇关于如何在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”并选择“编辑表计算”
♢ 在“嵌套计算”处,将计算依据改为“表计算_前一百分比”
♢ 在“计算依据”处,将计算依据改为“细分”
♢ 在“嵌套计算”处,将计算依据改为“表计算_细分销售额”
♢ 在“计算依据”处,将计算依据改为“特定维度”,选中“细分”与“路径(数据桶)”,并把“细分”拖到顶部
♢ 所在级别选为“最深”,重新启动间隔选为“细分”
♢ 在“嵌套计算”处,将计算依据改为“表计算_细分总销售额”
♢ 在“计算依据”处,将计算依据改为“特定维度”,选中“细分”与“路径(数据桶)”,并把“细分”拖到顶部
♢ 所在级别选为“最深”,重新启动间隔选为“无”
一切顺利后,就可看到如下图形:
现在我们做可视化的最后一步的调整
● 隐藏轴
● 隐藏零值线
● 隐藏网络线
● 增加工具提示
● 增加白色边框
现在稍微花点时间来研究下表计算的原理,主要是如下几个方面:
● 销售额计算基于每个月的每个细分
● 总销售额计算基于每个月
● 百分比值基于每个细分
● 最后将他们堆叠在一起