http://lilyalove.com/data_visualization_baseball/index.html
根据获取到1157名棒球手的数据集,对影响棒球全垒得分的原因进行分析,可分析的维度有身高(英寸),体重(磅),用手习惯(左、右,both),击球率。 目的是创建一个可视化,展示这些球手之间的表现差异。
棒球选手的击球率和全垒得分,与用手习惯并没有太大关系,与身高体重之间也没有绝对的联系。
- 以身高为x轴、体重为y轴,使用散点图来显示棒球选手的分布。
- 散点图的点用圆形来表示,圆形大小代表全垒得分的大小;
- 用圆形的颜色来表示习惯用手,图例显示即为习惯用手的颜色含义。
根据第一版的反馈,以及对于数据的再次分析,准备做如下调整:
- 用椭圆代替圆形来表示散点图,椭圆的两个半径分别由击球率和全垒得分表示,以此来完整显示该棒球选手的水平;
- 对用手习惯添加动画,使得用户可以通过按钮,查看左手、右手、both的不同情况;
- 在图形下方添加备注,说明椭圆的含义.
根据第二次、第三次的反馈,准备做如下调整:
- 将按钮挪到右侧;
- 鼠标放在图中的椭圆上时,可以显示该椭圆的基本信息。
根据第四次反馈,准备做如下调整:
- 筛选掉所有全垒得分和击球率为0的点,剔除缺失值;
- 调整椭圆的详细信息显示,将信息显示成两行,避免边界处显示不全;
- 调整椭圆的横向半径和纵向半径尺度,使之一致;
- 加入颜色深浅说明:颜色越深,代表此处重叠的点越多;
- 给椭圆信息悬浮框加入背景色;
- 由于很多人的身高、体重值是相同的,对这些相同身高体重的人进行统计,并将avg、HR求平均值,在最终的图形中,只显示平均值;(该操作在R中操作);
- 在椭圆信息悬浮框中,加入身高体重相同的人数统计;
- 将面积较小的形状显示在上面,较大的显示在下面;
你在这个可视化中注意到什么?
- 数据分布大体呈现平行四边形;
- 有很多大大小小的圆圈叠在一起了;
你对这个数据有什么疑问吗? 没有问题。
你是否注意到数据关系?
- 从整体上身高和体重呈现正相关关系;
- 大部分分数较高的数据,集中在中间区域;
- 看上去右手得分更高一些,但并不明确;
你觉得这个可视化主要表达了什么?
- 体型、用手习惯对全垒打得分的影响;
这个图形中你有什么不明白的地方吗?
- 圆圈大小指代什么不明确;
- 同一个圆的地方,不确定有几个人;
你在这个可视化中注意到什么?
从表现上来看,击球率、全垒得分与身高、体重、左右手并没有太大关系。
你对这个数据有什么疑问吗?
没有问题。
你是否注意到数据关系?
并无明显关系。
你觉得这个可视化主要表达了什么?
- 体型、用手习惯对全垒打、击球率的影响;
这个图形中你有什么不明白的地方吗?
暂无。
建议把按钮放到右边,和图例放在同一边,避免看的时候需要左右来看,不方便。
我认为该可视化在传递发现时有几处不够清楚的地方: 1. 很多圆重叠在了一起,不容易观察,并且难以查看悬浮框的数据。 2. 颜色的深浅是否有具体含义?是重叠的次数吗? 3. 所有椭圆的纵向半径非常一致,可能是因为横向半径和纵向半径尺度不同。 4. 有很多avg = 0, HR = 0 的点,这些是缺失值还是真的为0呢?
D3 scatter 参考博客:https://bl.ocks.org/mbostock/3887118