【TOAN HOANG 专题(85)】螺旋堆积线图
本文搬运自国外tableau大神原创文章,Tableau交流问答群为国内唯一独家授权组织,未经许可不得转载!
Toan Hoang:知名Tableau大神,数据可视化自由职业者和Tableau Magic的创始人,萨尔萨舞教练,钢琴演奏者,技术爱好者和程序员。
另本文由Tableau交流问答群Tableau爱好者—贺峰对原文进行翻译,若有问题,欢迎讨论。
数据
我们将从加载示例超市数据到tableau desktop\tableau public开始。
注:如果您有Tableau Desktop,则可以使用示例数据源,但如果您使用的是Tableau Public,则下载并加载以下数据源。
将数据加载到Tableau中后,右键单击数据源并单击“编辑数据源…”打开数据源编辑器,粘贴以下内容
Path
0
1
注意:如果您正在使用Tableau 2020.2,即可以访问新的关系模型,则在粘贴路径数据之前,需要双击最初粘贴的数据源以打开。
单击添加新的连接子句,转到编辑连接计算,键入1并单击OK。在右手边也要这样做。确保已选中“内部联接”,并应看到以下内容:
计算字段
将我们的数据集加载到Tableau中,我们将创建以下计算字段:
参数Spacing Parameter
• 名称设置为Spacing Parameter
• 字段类型选为浮点型
• 当前值设置为0.15
• 设置允许的值为范围
• 设置值范围
o 最小值0
o 最大值1
o 步长0.05
Index
INDEX()-1
Spacing
(INDEX()-1)*[Spacing Parameter]
TC_Sales
WINDOW_SUM(SUM([销售额]))/2
TC_Total Sales
WINDOW_SUM(SUM([销售额]))/2
TC_Percentage of Total
[TC_Percentage of Total]/WINDOW_MAX([TC_Percentage of Total])
TC_Step Size
(360-(360/WINDOW_MAX([Index])))/WINDOW_MAX([Index])
TC_Starting Point
RUNNING_SUM([TC_Distance])-[TC_Distance]
X
IF MAX([Path]) = 0 THEN
SIN(RADIANS([Index]*[TC_Step Size]))*(1+[TC_Starting Point]+[Spacing])
ELSE
SIN(RADIANS([Index]*[TC_Step Size]))*(1+[TC_Starting Point]+[TC_Distance]+[Spacing])
END
Y
IF MAX([Path]) = 0 THEN
COS(RADIANS([Index]*[TC_Step Size]))*(1+[TC_Starting Point]+[Spacing])
ELSE
COS(RADIANS([Index]*[TC_Step Size]))*(1+[TC_Starting Point]+[TC_Distance]+[Spacing])
END
这些做完之后我们开始创建我们的工作表。
工作表
现在我们要建立我们的工作表:
将标记类型改为线
把类别拖到颜色上
把订单日期拖到详细信息上
右键此字段,选择连续月
右键此字段,转换为离散
把path字段拖到路径上面(注:path字段为维度)
右键此字段,转化为离散
把 X 拖到列
右键这个字段,计算依据选择 订单日期
把Y拖到行
右键这个字段,计算依据选择 订单日期
如果一切顺利的话,我们能得到以下内容:
现在是挑战部分,我们将调整我们的表计算。
右键X字段,选择编辑表计算…
在嵌套计算中选择 TC_Starting Point.
计算依据选择特定维度.
确保只有订单月和类别 是选中状态,且订单月在最上面
所在级别选最深
重新启动间隔选订单月
嵌套计算中选择 TC_Distance
计算依据选择特定维度.
确保 类别字段是选中状态
嵌套计算中选择 TC_Sales
计算依据选择表(横穿).
嵌套计算中选择 Spacing
计算依据选择特定维度.
确保 类别字段是选中状态
让我们重复操作一下Y字段
右键Y字段,选择编辑表计算…
在嵌套计算中选择TC_Starting Point.
计算依据选择特定维度.
确保只有订单月和类别是选中状态,且订单月在最上面
所在级别选最深
重新启动间隔选订单月
嵌套计算中选择TC_Distance
计算依据选择特定维度.
确保 类别字段是选中状态
嵌套计算中选择TC_Sales
计算依据选择表(横穿).
嵌套计算中选择Spacing
计算依据选择特定维度.
确保类别字段是选中状态
你应该看到下面这幅图(注:图中线没有出现间隔是由于参数Spacing Parameter 的当前值为0导致的,后续调整一下改值):
接下来我们稍稍美化一下:
• 调整一下工具提示
• 隐藏轴标签.
• 把网格线设置为无.
• 把零值线设置为无
你应该能看到这幅图:(注:参数值设置当前值为0.15后会出现间隔)
作者:Tableau交流问答群
原文链接:https://www.jianshu.com/p/14d4f9db3b6e