举个栗子!Tableau 技巧(238):可灵活对比的雷达图(Radar Chart)

发布于: 2023-05-08

雷达图(Radar Chart)的优势是能够表达多个指标的对比情况。之前,我们分享过雷达图的两种实现方法:巧妙绘制雷达图简化实现雷达图

有用户提出新的需求:我想在同一个雷达图中呈现多个员工的各项指标情况,并且可以按需对他们的指标进行对比,有办法实现么?

其实,这个需求是可以实现的(如下图),今天我们来分享方法,一睹为快!

本期《举个栗子》,我们要给大家分享的 Tableau 技巧是:可灵活对比的雷达图(Radar Chart)。

为方便学习,栗子使用自拟的简单数据源(如下图),来实现六边形雷达图。掌握栗子方法后,数据粉可尝试使用自己的数据实现其他多边形的雷达图。

具体步骤如下:

1.创建计算字段

打开 Tableau Desktop,连接栗子数据源,新建工作表。右键单击“数据”窗格空白处,在下拉菜单中选择:创建计算字段。依次创建如下计算字段:

➤ 计算字段:路径,此路径可更改科目在雷达图上的位置。键入函数:

CASE [科目]

WHEN '语文' THEN 1

WHEN '数学' THEN 2

WHEN '英语' THEN 3

WHEN '物理' THEN 4

WHEN '化学' THEN 5

WHEN '生物' THEN 6

ELSE 7

END

➤ 计算字段:角度,此公式为计算雷达图的“半径”与X轴的夹角,为计算点的坐标做准备。键入函数:

IF [路径] = 7 THEN PI()/2

ELSE PI()/2-(([路径])-1)*2*PI()/6

END

➤ 计算字段:得分,此处以100分为例,将分数平均分成5段,赋值1-5分,这决定了雷达图的圈数有5圈,一圈代表1分。键入函数:

IF [分数] >=0 AND [分数] < 20 THEN 1

ELSEIF [分数] >=20 AND [分数] < 40 THEN 2

ELSEIF [分数] >=40 AND [分数] < 60 THEN 3

ELSEIF [分数] >=60 AND [分数] < 80 THEN 4

ELSEIF [分数] >=80 THEN 5

END

➤ 计算字段:X,根据三角函数,计算出每个维度的X轴坐标。键入函数:

[得分]*COS([角度])

➤ 计算字段:Y,根据三角函数,计算出每个维度的Y轴坐标。键入函数:

[得分]*SIN([角度])

2.创建视图

将“标记”卡的标记类型改为:多边形。然后,将字段“科目”拖放至“标记”卡的详细信息中;将字段“路径”拖放至“标记”卡的路径中。

将计算字段“X”和“Y”分别拖放至列和行,分别右键单击这两个胶囊,在下拉菜单选择:度量(总和)-平均值。Tips:X、Y 的汇总方式可根据数据粉的实际业务情况去更改。

将字段“姓名”拖放筛选器,勾选一个或多个姓名。右键单击筛选器中的“姓名”胶囊,选择显示筛选器。

然后,将字段“姓名”拖放到“标记”卡的颜色中,单击颜色,设置不透明度。

如此,就实现了我们想要的雷达图!勾选右侧姓名代码,就可以查看每位学生在各科目中的表现或对比多个学生的表现了~


栗子 Tips:

六边形雷达图的实现原理

- 涉及到的知识点是:三角函数。

- 上图中绘制了一个一圈的雷达图,其中六条呈放射性的线,我们称之为“半径”,要绘制一个完整的雷达图,就需要计算出各维度的坐标,如图中 A 的坐标。

- 在雷达图上作一个直角坐标系,注意,y 轴需与其中一个“半径”重合,此时“半径”与 x 轴形成一个夹角。

- 此时根据三角函数的余弦函数,可以得到:BC = AC×cosθ,已知AC = r,xA = BC,所以 A 点的 x 坐标值为:xA = r×cosθ。同理,根据三角函数的正弦函数,可得出A点的y坐标值为yA = r×sinθ。

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


更多相关信息,请访问专题页: 可视化数据分析工具和软件