举个栗子!Tableau 技巧(35):学做 南丁格尔 玫瑰图 Nightingale rose diagram

发布于: 2021-06-01

在工作中,如果遇到需要计算总费用或金额的各个部分构成比例的情况,我们可以使用饼图,直接显示各个组成部分及所占比例。

但是,如果因为组成部分较多而导致饼图分区多且密集,图表就变得不易观察。

能不能等角度分布(占比小的项不会被忽略),又能体现各个项的大小(突出占比大的项)?同时还能对比不同类型(多角度分析)的差异?

有一种图表可以满足上面的这些需求,它就是南丁格尔玫瑰图。

“南丁格尔玫瑰图Nightingale rose diagram是弗罗伦斯·南丁格尔所发明的,又名为极区图,是一种圆形的直方图。 出于对资料统计的结果会不受人重视的忧虑,她创造出这种色彩缤纷的图表形式,让数据能够更加让人印象深刻。”

如下图,把三种类型的产品(电子,家具,办公)在一年十二个月的销售额进行了汇总对比分析:

- 即能看到每种类型产品在一年12个月销售额的占比,销售额大的会突出出来;

- 也能看到每个月三种产品销售额的不同;

- 同时也能反映整一年的总体情况,即红色的面积比蓝色的面积大,表示电子产品一年的销售比家具产品的高。

那么,在 Tableau 里如何制作南丁格尔玫瑰图?

本期《举个栗子》,阿达要给大家分享的Tableau技巧是:学做南丁格尔玫瑰图。

具体步骤如下:

Step 1:准备下图类型的数据结构

Step 2:创建Path字段的数据桶

将数据源导入 Tableau Desktop,首先创建Path字段的数据桶。

Step 3:创建八个计算字段

- 创建计算字段INDEX(),命名为Edges, 用于计算角度。

- 创建计算字段([Edges]-1)*(2*PI()/WINDOW_MAX([Edges])),命名为Angle。

- 创建计算字段INDEX(),命名为Count, 用于计算片数。

- 创建计算字段WINDOW_MAX([Count]),命名为Number of Slices。

- 创建计算字段SQRT(AVG([Sales])/PI()),命名为Radius,其中AVG的可是实际情况修改。

- 创建计算字段INDEX(),命名为Index,用于计算X和Y轴。

- 创建计算字段

IIF([Index]=1 OR[Index]=WINDOW_MAX([Index]),0,WINDOW_MAX([Radius])

*COS([Angle]+((([Index]-2)*WINDOW_MAX(2*PI())/([Number of Slices]*99)))))

命名为X

- 创建计算字段

IIF([Index]=1 OR[Index]=WINDOW_MAX([Index]),0,WINDOW_MAX([Radius])

*SIN([Angle]+((([Index]-2)*WINDOW_MAX(2*PI())/([Number of Slices]*99)))))

命名为Y

此时,你应该完成8个计算字段创建,如下图:

Step 4:开始制图

将Data拖入颜色并显示成月份,将Product Category拖入详细信息并转换成颜色,并将图形选择为:多边形,再将Path(数据桶)托入行。

右键Path(数据桶),显示缺失值。

 然后将Path(数据桶),拖入标记卡的路径中,然后将X拖入到列,Y拖入到行。

Step 5:修改XY计算依据

为什么什么都没有呢,这里需要修改X,Y的计算依据,比如X的计算依据配置如下:

 对Y进行同样的计算依据配置,完成后,玫瑰花图就出来了。

Step 6:调整Product Category字段排序

为什么上图只有两个颜色呢?其实,是因为大的图将小的图覆盖了。这时,只需要调整Product Category字段的排序就好。

Step 7:调整格式和颜色

最后,进行格式和配色的调整,也可多月份的排序做调整,玫瑰图就做出来了。

你还可以添加更多的文字信息(比如占比),调整更多的格式设置(比如花边),让你的图表有更多的可读性。

 今天的Tableau小技巧,你Get到了吗?赶快打开你的Tableau,试试看吧!