作为想入行数据分析的萌新,我也是查了一下,发现教程基本都是比较简要的,要不只是扔一堆复杂的公式,要不就是简单几步跳过了(当然也有简单的插图片等方式),并没有一个能让萌新秒懂的,于是自己下了一个案例之后,开始了仿制,并将原有的复杂公式和多个辅助图,精简为清爽简单的公式一次成型,花了这么多时间做这个,也算是呆在家找不到工作的消遣吧,顺便看看能不能给其他萌新提供帮助。
【PS】希望有数据分析大神看到,能求教一下数据分析
数据说明
原图
原作品的链接:https://public.tableau.com/profile/jiangbin#!/vizhome/Radardiagramexample/sheet0?publish=yes
数据类型
序号 | 字段名称 | 备注 |
---|---|---|
1 | 姓名 | 无 |
2 | 年龄 | 无 |
3 | 俱乐部 | 无 |
4 | 国籍 | 无 |
5 | 身高 | 无 |
6 | 位置 | 无 |
7 | 总评 | 无 |
8 | 能力 | 分为6类 |
9 | 数值 | 0-100 |
分为两个版本详解讲解所有过程与思路
有基础
的,请直接跳至最下方【极简清爽版】
上面是给纯萌新的【超详解动图版】,如果看完超详解动图还有疑问,可以看【超超超详解思路】
超详解动图版(纯萌新看这里)
绘制蛛网底图
辅助表格
萌新建议用辅助表格,清晰简单。
- 首先观察雷达图发现,要分为6个维度及4层蛛网
- 创建一列
雷达层级=0,1,2,3,4
(原点也是要画的,所以要从0开始) - 创建一列
角度=0,60,120,180,240,300,360
(最后0和360重合,为了最后与原点连成线) - 通过两列笛卡尔积,最终辅助表格如下
(随意使用什么方式作出如下表格,都很容易吧)
雷达四分位 | 角度 |
---|---|
0 | 0 |
0 | 60 |
0 | 120 |
0 | 180 |
0 | 240 |
0 | 300 |
0 | 360 |
1 | 0 |
1 | 60 |
1 | 120 |
1 | 180 |
1 | 240 |
1 | 300 |
1 | 360 |
2 | 0 |
2 | 60 |
2 | 120 |
2 | 180 |
2 | 240 |
2 | 300 |
2 | 360 |
3 | 0 |
3 | 60 |
3 | 120 |
3 | 180 |
3 | 240 |
3 | 300 |
3 | 360 |
4 | 0 |
4 | 60 |
4 | 120 |
4 | 180 |
4 | 240 |
4 | 300 |
4 | 360 |
完成后,将表格导入Tableau
新增辅助用的计算字段
-
新建计算字段弧度(因为Tableau中的三角函数是用弧度计算的,这里直接套用弧度公式)
弧度=[角度]*PI()/180
增加弧度字段 新建字段半径(能力值的上限是100,这里有4层,100/4=25,所以这里用层级乘25,结果为每层的半径)
半径=[雷达层级]*25
- 新增字段X,Y(这里就是直接套用的公式了,不懂的可以搜
极坐标与直角坐标的转换
)
X=[半径]*cos([弧度])
Y=[半径]*sin(弧度)
X,Y
拖出蛛网图
-
将X,Y拖至行,列,重复两次(只单独复制X和Y也可以,都复制是为了理解得更清爽)
(一个坐标轴画圈层,另一个画中间的轴,按Ctrl可直接复制,拖两次也不复杂)拖放X,Y轴 -
分别点第二个X,Y的右方角标,选择双轴(类似于Excel的主次坐标轴,实现两个图形的叠加)
坐标轴叠加到这一步,坐标轴部分已经彻底完成了,只要依据坐标点,绘制两个图形即可,步骤是不是有点过于详细了
哈哈,下面就要开始快速绘图了!_
-
将角度,雷达层级拖至维度
拖至维度 -
在标记处,先将
自动
改为线,再将维度中的角度
和雷达层级
分别拖至详细信息和路径
(可以看到我的界面里,标记那里,我的默认选在了总和(X)(2)
,如果不是也没关系,点一下就行了,这里顺序不重要,我们有两个图,两个图是交错的)
雷达底图1完成完成这一步,是不是感觉已经要大功告成了,想要的图形被拖出来了!
- 点选
总和(X)
,接下来与上面相同,只是顺序换一换,即可完成雷达图的底图。
底图制作完成
放开鼠标的瞬间是不是爽爆了,终于出现了这个感人的蛛网,而且制作过程还如此清爽,当然,如果再美化一下就更清爽了
-
隐藏所有的标题,鼠标右击坐标轴和标题,去掉勾选
显示标题
,或点选隐藏标题
隐藏标题
-
去除
网格线,零值线,分隔线
,右键点击图表,选择设置格式去除网格线
-
设置填充为无,默认的填充通常是白色,会遮挡其他图形
更改填充色
-
标记区域,点击大小,即可更改线条粗细
蛛网图大功告成
到这里终于将蛛网图全部完成了,虽然看着挺多的,其实熟练起来很快,而且很多步骤可以省略,比如新建的那些计算字段,直接新建X和Y写公式就可以了,而且这公式估计是你目前能看到的教程里,最最最清爽的吧!
雷达图数据层
看了上面超超超超级清爽的底图步骤后,想必对数据层的制作也会有自己的思路吧,底图的半径是固定值,而数据的数据层的半径,自然就是数据的值了。
-
新增计算字段角度:(跟上面一样的角度,不过这里要按能力作为维度来设定角度)
CASE [能力] WHEN "传球" THEN 0 WHEN "射门" THEN 60 WHEN "盘带" THEN 120 WHEN "身体" THEN 180 WHEN "速度" THEN 240 WHEN "防守" THEN 300 END
角度 新增字段X,Y(和前面底图一样的公式,只是将半径换成了[数值])
X:[数值]*cos([角度]*180/PI())
Y:[数值]*sin([角度]*180/PI())
-
将X,Y拖至行,列
image -
标记改为
多边形
(这里就是跟上面底图的区别了,蛛网图是线,而数值是要通过多边形显示)
image -
将
姓名
拖至颜色
(不同颜色分类人物)
image -
角度
拖至路径
(不同角度的去连线形成多边形)
image -
能力
拖至详细信息
(按能力作为维度区分不同值)
image -
将
能力
拖至标签
(由于多边形不能直接添加标签,所以叠加一下其他图即可,散点图等其他图形都是可以直接添加标签的,然后将颜色的不透明度
设为0
=完全透明,叠加的图就消失了)
image -
最后添加一个
筛选器
就好了
image 到这里图形就出来了,再按需求美化一下即可。
超详细版思路(已理解的可跳过)
由于发这个贴的目的是从纯萌新角度出发,所以力求思路清晰完整,虽然我也是萌新,但我认为思路比看一些演示重要,下面归纳上面的操作思路,
【注意】这一款注意侧重于详细的思路,帮助还有不理解的萌新理解整个过程,因为上面已经有超详细步骤加动图了,所以下面就只文字叙述,不适应长文阅读的,顺便加强一下阅读能力吧。哈哈~
- 目标是雷达图,首先要考虑图形的叠加,固定的背景图与可变的数据图,至少两个图层
- 制作图形的时候,Tableau是支持散点图和线图的切换,也就是只要画出对应的散点图
- 进一步的可以思考,画散点图的时候,是用直角坐标系描述点的位置的,因此要转换为极坐标系
- 假设是连极坐标系也不太懂的,可以自己尝试简单推一下公式,
画一个坐标轴,画一个直角三角形
用中学知识就可以进行推到了,重点就是三角函数 - 在极坐标系下,是以半径和角度来描述坐标,而不是X,Y,同时,数学里X,Y转换到极坐标系的公式为
X=R·cosθ,Y=R·sinθ
,雷达图的半径就是数据大小,不用求,因此只需要得到角度即可 - 角度其实可以很简单的通过 360/雷达图维度数量,计算得知,自己创建一列就行了
- 然后打开公式输入,tableau是有函数提示功能的,可以看到上面写到
以弧度计量
,因此需要将我们算出来的角度转换为弧度
,这里就用到弧度与角度的转换公式弧度=角度*π/180
,这个公式也很好记,π=180°,所以右边其实就是乘1,角度不变,只是从角度写法变成了小数(即弧度制),因为π是用小数表示的,这里用法有点像很多公式里,*100%一样,只是把格式变动一下。 - 到这里就通过两次公式,X,Y计算需要的半径与弧度,直接在坐标系中画出对应三点图即可,其实整个过程推到一遍后挺简单的,主要是为了思路讲的够详细,所以写了很多字,实际操作中,半径已知,X,Y套一个公式取到,两步搞定。
- 有对应的X,Y后,我们剩下的工作就是画散点图了,上面我们已经有了角度,360/维度,得到(0,60,120,180,240,300)或(60,120,180,240,300,360),画线图的时候,如果0/360只有一个的话,是不能连在一起的,如到300°就停了,因此要加一个角度,(0,60,120,180,240,300,360)
- 接下来就思考半径了,如本例中蛛网设定为4层,因此就有4个半径,对应4组角度。同时我们还需要原点,最简单的方法,半径为0,即为原点了,因此还要增加一个0半径,因此半径为(0,1,2,3,4),且每个半径对应一组角度。
- 最后就是创建散点图,然后更改为线图。蛛网分成两种连线方式,一种是同角度不同半径的点连成线,成为轴;另一种是同半径不同角度的点,连成圈。
- 所以要两组对应的X,Y轴叠加,详细信息,一个为
角度
,一个为半径
- 然将标记更改
自动
为线
。分别将半径
和角度
拖入路径
- 到这里就完全搞定了。
极简清爽版(有基础的看)
底层蛛网图
- 作辅助表格,一列为蛛网层数(0—4),一列为角度(0—360)
- 新增计算字段
X=[蛛网层数]*25*cos([角度]*PI()/180)
Y=[蛛网层数]*25*sin([角度]*PI()/180)
- 将
X
拖至行
,Y
拖至列
,复制一个X,或Y,设为双轴,叠加在一起 -
标记改为
线
,并将角度
和蛛网层数
交错拖至两个图表的详细信息
和路径
外层雷达数据
制作方式同底图步骤,只需将辅助半径改为数值
- 新增计算字段角度
CASE [能力]
WHEN "传球" THEN 0
WHEN "射门" THEN 60
WHEN "盘带" THEN 120
WHEN "身体" THEN 180
WHEN "速度" THEN 240
WHEN "防守" THEN 300
END
新增字段X,Y,并将X,Y拖至行,列
X:[数值]*cos([角度]*180/PI())
Y:[数值]*sin([角度]*180/PI())
标记改为多边形
将
姓名
拖至颜色
(不同颜色分类人物)角度
拖至路径
(不同角度的去连线形成多边形)能力
拖至详细信息
(按能力作为维度区分不同值)复制一个X或Y,将数值拖至
标签
,并将颜色不透明度
设为0=完全透明
【注意】
底图和数据层的坐标轴要一致:最大最小刻度,X和Y轴方向
标签建议用
数值
,能力
放在底图标签显示更稳定,网上的那个原图的标签是都放数据层的,选中多个就没法正常标签了
熟练后,其实简单几步就能大功告成,作为萌新的我做的这个面向萌新的教程可还好吧,哈哈!我也没有公众号引流啥的,只是将我学习遇到的问题,用了一个简单的方法解决,并花时间分享给大家,如果觉得好,就请点赞、转发、评论,让更多人看到吧!