为什么要用tableau?
我称之为(静态、动态图的区别)
我们可以用python,excel进行雷达图的绘制,那么为什么要用tableau?
因为,tableau的图可以是动态的多个视图的整合,你可以在生成的图片上进行二次操作,选择你需要的对象进行观察,同时也可以加入到后续的数字大盘里。(动态)
而excel,python生成的只是一张图片,所有的东西叠加在一张图片里。不可对图片进行二次的操作。(静态)
对比
excel:
tableau:
那么,我们先说一下雷达图的使用场景
比如,你可能通过聚类算法,得到聚类的中心点。然后我们要对聚类得到的各类对象进行特点的分析。这个时候就可已用雷达图来表示。
参考的两篇写的好的:
tableau绘制雷达图
tableau雷达图
进行步骤的改进:
实现:
①不用计算路径,用角度代替
②不用重复添加一列数据,形成连线的闭合,用多边形标记。
具体实现如下
ok开始进行雷达图的绘制了,总共4步骤如下:
1:数据处理
原数据:你要进行用雷达图比较的对象的各指标的数据。
进攻能力 | 辅助能力 | 拆塔能力 | 打钱能力 | 单挑能力 | 团战能力 | 升级速度 | 存活能力 | |
---|---|---|---|---|---|---|---|---|
玩家A | 3.6 | 3.11 | 4.49 | 3.72 | 2.54 | 4.35 | 4.28 | 1.75 |
玩家B | 4.43 | 2.95 | 4.48 | 4.33 | 2.65 | 4.43 | 4.28 | 2.05 |
玩家C | 4.31 | 2.44 | 3.75 | 4.63 | 1.75 | 2.5 | 3.5 | 3.13 |
处理后数据:在原数据的基础上添加对各指标进行区间的划分数据,也就是层级的划分。
处理后数据如下:
进攻能力 | 辅助能力 | 拆塔能力 | 打钱能力 | 单挑能力 | 团战能力 | 升级速度 | 存活能力 | |
---|---|---|---|---|---|---|---|---|
玩家A | 3.6 | 3.11 | 4.49 | 3.72 | 2.54 | 4.35 | 4.28 | 1.75 |
玩家B | 4.43 | 2.95 | 4.48 | 4.33 | 2.65 | 4.43 | 4.28 | 2.05 |
玩家C | 4.31 | 2.44 | 3.75 | 4.63 | 1.75 | 2.5 | 3.5 | 3.13 |
圆1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
圆2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 |
圆3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 |
圆4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 |
圆5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 |
2:用tableau读取数据,进行相关计算字符串的添加
tableau读取数据
调用数据透视表功能,将多列数据化转化为2列。
转化后的数据
然后进行相关字段的计算添加:
这里需要添加的字段是
计算字段 | 计算方式 |
---|---|
角度(用来计算x、y轴的坐标,同时起到路径的作用) | 从0 开始,递增读数为:2π/(总的能力的种类的数量) |
x轴坐标 | 极坐标计算:能力值*cos(角度) |
y轴坐标 | 极坐标计算:能力值*sin(角度) |
将数据透视表字段名称改名为:能力名称
将数据透视表字段值改名为:能力值
角度的创建表计算公式
case [能力名称]
when '升级速度' then 0
when '进攻能力' then PI()/4
when '单挑能力' then PI()/2
when '团战能力' then PI()*3/4
when '存活能力' then PI()
when '打钱能力' then PI()*5/4
when '拆塔能力' then PI()*3/2
when '辅助能力' then PI()*7/4
END
x
COS([角度])*[能力值]
y
sin([角度])*[能力值]
创建完后,将角度拖动到上面的维度的区域内。
3:进行画图
4:可以看到图像已经画出来了,接下来要进行美化
主要几点:
①对背景的那几圈的颜色进行修改
修改后
2:添加对应的显示标签。
添加的数据:
显示能力名称
if[F1]='圆5' then [能力名称]END
显示玩家数据
CASE [F1]
WHEN '玩家A' THEN [能力值]
WHEN '玩家B' THEN [能力值]
WHEN '玩家C' THEN [能力值]
END
最终的结果如下: