一直想学画雷达图,但是网上的教程多数是通过连线来画的,需要前期处理数据,觉得有点麻烦,这两天在Tableau Public上发现一个Viz作品,用多边形画雷达图,优点很多,不需要先期处理数据,而且是自动计算角度,特别方便。连接直达
自己学习以后,也对照着做了一个简单的示例(public直达),现在分享一下心得。
需要2018.3的透明特性,所以需要注意版本。
数据集就用pes2019的球员能力(数据地址)
首先,引入数据并用透视表透视后几个字段,得到新的数据集
然后更改字段名为“能力”和“得分”,这样就构造好了数据集
创建计算字段【Angle】= RUNNING_SUM((2*PI()) / MIN({COUNTD([能力])})) + (PI()/2)(这个就是原Viz作品中最巧妙的表计算,计算弧度值,反正我是不太明白)
【R】=AVG([得分])
【X】=[R]*COS([Angle])
【Y】=[R]*sin([Angle])
为什么要这几个字段,请参考我前面写的用Tablea画环形图系列。
然后将【X】,【Y】拖入行列功能区(不需要取消聚合),【X】、【Y】的表计算依据是【能力】,选择多边形,路径用【Angle】,并将【能力】拖入详细信息,【姓名】拖入颜色,调整颜色的透明度,并取消掉背景中的线条。还要调整编辑X和Y轴,将轴范围固定在-100到100之间。
接下来,原Viz作品中又一个巧妙的设计来了
复制X轴,调整将标记设为圆形,大小调整到最小(几乎看不见)
这个设计是为了显示标签,如果不增加这个轴标签显示就很混乱,因为堆叠在一起,同时还增加了两个字段来控制标签的显示
增加计算字段
【能力标签】= if WINDOW_COUNT(COUNTD([姓名]))=1 THEN attr([能力]) END
【得分标签】=if WINDOW_COUNT(COUNTD([姓名]))<=2 THEN AVG([得分]) END
这里要说一下作用,就是如果筛选器选了一项,就显示标签,如果选择多项就不显示标签,非常巧妙,如果你想有对比功能可以把=1改成<=2,这样选择2个筛选项也可以显示标签,(超过3个就显示比较乱了)
将这两个字段拖入X(2)的标签项,更改一下表计算,计算依据改为【姓名】现在标签就可以隐藏了。
选择双轴并同步轴,效果如下,通过筛选器,选择一个选项就有标签,多于2个选项,标签就没有了
接下来我们就要说背景图的制作了,你可以选择一个做好的背景图,直接通过地图背景图像加入这样比较省力,但是未必能找到合适的背景图像,我们可以通过以前的用Tableau画圆的知识,自己画背景,并通过2018.3的透明背景功能组合图表。
首先画六边形背景,构造数据集,我们画4个同心六边形(原理请参考用Tableau画环形图系列(二)画同心圆)
创建计算字段
【sin】=SIN([point]*PI()/180)*[R]*25
【cos】=COS([point]*PI()/180)*[R]*25
(这里×25因为是为了和上面的雷达图轴坐标一致,最后都是正负100的范围,如果画5个圆应该×20,自己体会一下)
然后拖动【sin】和【cos】到行列功能区,这里一定要取消聚合(因为我们不是通过聚合计算的方式,与上面的不一样),选择标记为线,【point】为路径,拖入【圆环】为详细字段,调整一下颜色和大小,取消网格线,关键还要调整轴,X和Y轴都要固定到-100到100之间,就得到了4个同心六边形。
下面构造放射线具体原理请参考,用Tableau画环形图系列(六)画柱状环形图
构造数据集
创建计算字段
【angle】=2 * PI()* (INDEX()-1) * (1/WINDOW_COUNT(COUNT([数值])))
【R】=IIF(ATTR([内外环])= 0, 0, SUM([数值])/WINDOW_MAX(SUM([数值])))*100(×100也是为了保证轴的一致)
【sin】=SIN([angle])*[R]
【cos】=COS([angle])*[R]
然后拖动【sin】和【cos】到行列功能区,也要取消聚合,选择标记为线,【内外环】为路径,拖入【线角度】为详细字段,【sin】和【cos】的表计算依据都为【线角度】,同样调整一下颜色和大小,取消网格线,关键还要调整轴,X和Y轴都要固定到-100到100之间。
自此3个工作表已经制作完毕,需要整合了
新建仪表板,用浮动选项加入三个工作表,取消掉工作表的轴、表名等
然后分把三个工作表的背景变透明,选中一个工作表,然后选设置格式的阴影,把工作表的阴影格式选为无(三个表都设为无)
下面就是组合三个透明的工作表(可以到布局选项调整一下项分层结构),这样雷达图就在上面,背景在下面了。
然后就是合并的关键,调整3个工作表的布局位置(数值可以自己根据情况填,但是3个表必需一样)
这样就好了,三个工作表重叠了,雷达图在上面,选择时候也不会选到背景的图表
然后通过筛选器就可以选择了,大家可以试一下,选择一个可以显示标签,选择2个就没有标签了。
好了,结束了。
此篇文章已发布到我的公众号:saodisir,有兴趣也可关注一下