举个栗子!Tableau 技巧(35):学做 南丁格尔 玫瑰图 Nightingale rose diagram
在工作中,如果遇到需要计算总费用或金额的各个部分构成比例的情况,我们可以使用饼图,直接显示各个组成部分及所占比例。
但是,如果因为组成部分较多而导致饼图分区多且密集,图表就变得不易观察。
能不能等角度分布(占比小的项不会被忽略),又能体现各个项的大小(突出占比大的项)?同时还能对比不同类型(多角度分析)的差异?
有一种图表可以满足上面的这些需求,它就是南丁格尔玫瑰图。
“南丁格尔玫瑰图Nightingale rose diagram是弗罗伦斯·南丁格尔所发明的,又名为极区图,是一种圆形的直方图。 出于对资料统计的结果会不受人重视的忧虑,她创造出这种色彩缤纷的图表形式,让数据能够更加让人印象深刻。”
如下图,把三种类型的产品(电子,家具,办公)在一年十二个月的销售额进行了汇总对比分析:
- 即能看到每种类型产品在一年12个月销售额的占比,销售额大的会突出出来;
- 也能看到每个月三种产品销售额的不同;
- 同时也能反映整一年的总体情况,即红色的面积比蓝色的面积大,表示电子产品一年的销售比家具产品的高。
那么,在 Tableau 里如何制作南丁格尔玫瑰图?
本期《举个栗子》,阿达要给大家分享的Tableau技巧是:学做南丁格尔玫瑰图。
具体步骤如下:
Step 1:准备下图类型的数据结构
将数据源导入 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,试试看吧!