举个栗子!Tableau 技巧(219):学做经典的圆形堆叠图

發布於: 2024-05-31

比较常见的堆叠图是柱形的,在同一个柱子上,用不同颜色的堆叠块来呈现数据,对比效果直观可见。那有没有其它的可能性呢?比如圆形。

圆形堆叠图,喜欢追港剧的数据粉,脑海里有没有出现下面这个图标?没错,香港 TVB 的台标,经典!


今天,我们分享如何在 Tableau 中创建一个圆形的堆叠图,一睹为快吧!

本期《举个栗子》,我们要给大家分享的 Tableau 技巧是:学做经典的圆形堆叠图。

为方便学习,栗子使用自拟的数据源(如下图)。掌握栗子方法后,数据粉可尝试使用其他数据源。

具体步骤如下:

Step.1 连接数据源

打开 Tableau Desktop,连接栗子数据源,然后进行数据关联:内部联接,关联字段都选择:编辑联接计算,值设为:1。

Step.2 创建数据桶和计算字段

新建工作表,先创建一个数据桶:右键单击“Path”字段,下拉菜单选择:创建-数据桶。弹窗中,将数据桶命名为:Path (bin),数据桶大小设为:1。

接着,需要创建 6 个计算字段:

➤ 计算字段:Index,键入函数

(INDEX()-1)

➤ 计算字段:TC_Value,键入函数
WINDOW_MAX(MAX([Value]))/100*2

➤ 计算字段:TC_Value Label,键入函数
WINDOW_MAX(MAX([Value]))/100

➤ 计算字段:TC_Starting Point,键入函数
RUNNING_SUM([TC_Value])-[TC_Value]

➤ 计算字段:X,键入函数
SIN(RADIANS([Index]))

➤ 计算字段:Y,键入函数
IF

[Index]<180

AND COS(RADIANS([Index]))+1 >= [TC_Starting Point]

AND COS(RADIANS([Index]))+1 <= [TC_Starting Point]+[TC_Value] THEN

COS(RADIANS([Index]))+1

ELSEIF

[Index]>=180

AND COS(RADIANS([Index]))+1 >= [TC_Starting Point]

AND COS(RADIANS([Index]))+1 < [TC_Starting Point]+[TC_Value] THEN

COS(RADIANS([Index]))+1

ELSE

NULL

END

Step.3 创建视图

将“标记”卡的标记类型改为:多边形。将数据桶“Path (bin)”拖放至列,右击单击该胶囊,下拉菜单勾选:显示缺失值。然后,将该胶囊拖放至“标记”卡的路径中。

将字段“Segment”拖放至“标记”卡的颜色中,分两次右键单击该胶囊,下拉菜单分别勾选:维度 和 离散。

将字段“X”拖放至列,将“Y”拖放至行,分别右键单击这两个胶囊,下拉菜单都选择:计算依据-Path (bin)。

再右键单击行上的“Y”胶囊,下拉菜单选择:编辑表计算。弹窗中,嵌套计算选择:TC_Starting Point,计算依据选择:特定维度-Segment。

接着,将创建的数据桶“Path (bin)”的大小改为:0.1;将计算字段“index”的函数改为:(INDEX()-1)/10。

再做一些设置优化:单击视图右下角的“null”,弹窗中单击:筛选数据。隐藏所有轴标题,隐藏网格线,隐藏零线,删除行分隔符和列分隔符等等。

最后,将字段“TC_Value Label”拖放至“标记”卡的工具提示中,右键单击该胶囊,下拉菜单选择:计算依据-Path (bin)。

如此,就完成了我们想要的圆形堆叠图,数据粉可以根据自己的喜好设置颜色,还可以按需增加或减少层数哦~

今天的 Tableau 技巧,你 Get 到了吗?