这次还是彻底的模仿,模仿的Mahfooj Khan的作品,卡塔尔人,顺便这次卡塔尔亚洲杯闯入决赛,甚是威武。
1 关于雷达图
交互地址
这是一个对漫威超级英雄能力值可是化的项目。通过雷达图 面积 快速判断英雄的整体强弱,通过 形状 快速判断英雄的类型,例如是敏捷型或者力量型等等。对比两个英雄时候,叠加两个雷达图尤其方便。
劣势:但是雷达图和其他在二维坐标下展示的图表相比,读取具体的数值不是特别方便和直观。
雷达图对多维数据的展示非常直观,从某种角度上也是是一种强化对比的图表类型,实际展示的数值不是最重要的。所以雷达图特别适合这种评分数据。比如这个英雄能力值的评分实际上就是一种对比机制,并不会对实际评分做具体的量化,比如对速度的评分实际并不会和百米速度相关。
这次图表挑战的数据恰巧也是评分数据,评分经过好几层的各种计算、综合,绝对大小已经没有实际意义。做出这个指数的目的就是在于比较不同国家的相对状况,或者衡量进步程度。
这次数据使用的是欧洲国家的 DESI 指数,分别从五个维度测量,
以下的教程主要参考 A Simple Way to Make a Radar Chart 来讲。如何在Tableau中使用 雷达图(或蛛网图)- TC17「英文字幕」 也参考了一部画图原理,使用原因的介绍。
相关数据下载:
https://pan.baidu.com/s/13SBr0J4PVKczEL0Uxi6h0A 密码:lm7k
2 雷达图原理
Tableau中默认的坐标系是一个二维坐标系,当使用地图的时候才会切换成为地理坐标系。
我们的雷达图实际上是一个极坐标系,每个特征占据一个角度,通过 r 的长度来映射数据。我们想要做的就是把用极坐标描述的图形,在Tableau默认的二维坐标系中画出来。
所以雷达图的整体思路就是逐步翻译的过程:
原始数据 -> 极坐标 -> 二维平面坐标
3 在Tableau中画雷达图
准备工作:连接数据
第一步:构建描述极坐标的计算字段
这一步就是 原始数据 -> 极坐标 的计算字段的翻译
- 构建 Angel 计算字段,也就是极坐标中的 角度 参数。
- 构建
Distence from the centre
计算字段,也就是极坐标中的$r$
参数。
第二步:构建描述二维平面坐标的计算字段
极坐标 -> 二维平面坐标 的计算字段的翻译
- 构建 x 计算字段,就是二维平面坐标的横轴坐标
- 构建 y 计算字段,就是二维平面坐标的纵轴坐标
第三步:构建五边形
- 先选择一个国家来画五边形,所以将国家拖入筛选器,在筛选器中只保留一个国家。
- 将 Indicator 拖放到 详细信息标记卡,设置Indicator排序为逆序。
- 修改 标记卡 的图表类型为 多边形
- 将 Angel 字段拖放到 路径标记卡,调整 Angel表计算的依据为依据 Indicator。
- 将 x 和 y 字段分别拖放至 列功能区 行功能区,并同时调整表计算依据,依据 Indicator。
回顾: 四个计算字段公式的含义
我们现在已经初步完成了一个五边形的绘制,所以短暂回顾一下这几个生成的计算字段所生成的公式到底完成了什么功能。
关于Angel
RUNNING_SUM(2*PI()/MIN({COUNTD([Indicator])}))+PI()/2
MIN({countd([Indicator])}) 是用来计算整个数据源一共有多少个Indicator种类,如果你知道只有五个分析维度,实际上这里直接填写5也行
2PI()/* 这部分实际上是把整个圆周分成了5份
RUNNING_SUM 我们看到在实际使用过程中,我们表计算的依据选择是 指数 这个字段,实际实现的效果是判断具体的 Indicator具体所在的角度,所以要对评分后的角度进行角度的累加
将Angle作为多边形的路径,也是为了告知Tableau怎么对五个点进行连线。
+PI()/2 这部分是为了控制整个圆周的起点,我们可以调整这个值看看图形的效果。
没有进行角度转换时,起点是x轴的正向方向
+PI() 的效果是轴的起始方向放到了x轴负方向。
Distence from the centre
Distence from the centre 就是计算了橘黄色线段的长度,使用维度的分数来映射。
x y 的计算起始就是极坐标向二维平面坐标的转换。
第四步:添加背景
- 打开背景设定窗口
地图菜单 - 背景图像 - 数据源
- 添加背景分享文件中的背景图片
最终效果
简单的加入一个国家数据,然后将国家拖入颜色标记卡,调整颜色透明度,可以看到两国五维数据的对比。
可有可无的第五步:美化
这一步想加入一些点元素,强化维度数据的位置信息。
- 再拖放一个x字段到 列功能区,同时做 双轴 - 同步轴操作
- 将两个 标记卡 中的 度量名称 的 颜色标记卡 都删除掉
- 将新添加的 标记卡 修改为 圆 类型,调整一下颜色
最后效果 最后清理一下轴和边框
完成!
4 图表挑战中的具体应用
这次尝试了一次长图式的排版,因为Tableau不能全屏显示排版,甚是痛苦,考虑到Tableau的主要服务对象暂时还不包括手机移动端,以后还是暂时不尝试长图了。
Columns 字段 (INDEX()-1)%[col_num]
Rows 字段 INT((INDEX()-1)/[col_num])
其实还是排上次六边形地图的套路,表计算的依据设置为 国家
国家的备注还是放到 仪表板 来排。
5 总结
5.1 关于数据
我个人觉得其实这次图表挑战的第一个关键点是对数据的理解。
和前几次图表挑战的 宠物数量,红酒产量,失业率相比,原始数据中的数据只是一个分数,挑战题目只是简单翻译了一下并没有介绍,所以搞清楚这些数据采集计算方式,才不会出一些原则性的错误。
资料具体可以查看官网,甚至中文百度也能找到一些有用的信息,我就不多引用数据了。
5.2 关于雷达图的设计
这次做的还是基本没有交互设计的部分,但从五边形的覆盖对比角度其实就能增加一些交互功能,来丰富图表能够传达的信息。
比如就像我们的教程中一个雷达图中,叠加多国数据可以对比各个维度的优劣,当然也可以叠加统计数据,比如多国指标均值,多国指标中位数等。
比如可以增加年份的选项来进行叠加对比能够清晰的看到每个国家的各个维度指标变化的状况。
其实是我做图还不熟练,有些涉及到叠加的工作,还没想好数据怎么预先处理,所以有些想法只能暂时搁置。
5.3 Andy 自己画的几张图
组织者Andy在2月1日也做了一个简短复盘,我们可以看看他的选择。
第一张是一个杠铃图的变种,没有交互设计,选择展示的主要信息还是各国 5年总体指标的进步 。
第二张是连线散点图,交互设计可以选择想要着重看的国家和两个维度。 这张完全没法看综合指标,所以重点是看单个指标的变化情况。
第三张是 跳动图(Jitter Plot),交互设计可选国家。整体展示了5年各国各个维度的分数分布,重点信息是展示了选定国家的指标在分布中的位置,可以说这张是单页信息覆盖最多的。
第四张是雷达图,没有交互设计,只显示2018年。和我们不同的是,设计了色调来展示整体分数,其实我觉得雷达图面积已经能够反映一定信息了。
看了四张图,其实我们也可以大体整理一下常规的图表展示的思路了。其实无非就是:
想要表达的重点 -> 选择合适的图表
所以,我觉得我在日后图表挑战中尽量从不同关系 比较 分布 构成 等不同角度分析数据,为的是能够尽量熟悉各种图表的画法。
参考文章
A Simple Way to Make a Radar Chart