热力图
热力图(heatmap)把一个二维表的数值映射为单元格颜色。这里横纵轴往往是两种类别或有序条件,颜色表示第三个量;它不等于“把散点按小格计数”的二维分箱图,尽管两者外观都像彩色格子。读图先要知道每格的定义、数值单位、颜色刻度和缺测处理。
三组四个月的完成率
设 A、B、C 三组在第 1 至第 4 个月的完成率为下表。这些百分率是合成教学数据;B 组第 3 个月没有可靠记录,用“缺测”标记,而不是填零。
| 组别 | 第 1 月 | 第 2 月 | 第 3 月 | 第 4 月 |
|---|---|---|---|---|
| A | 70% | 75% | 80% | 85% |
| B | 40% | 45% | 缺测 | 55% |
| C | 50% | 60% | 70% | 80% |
第一幅图让相同颜色始终对应相同的原始完成率范围 。例如 A 第 4 月为 85%,C 第 4 月为 80%,所以前者这一格的数值更高。格内数字保证颜色不必承担精确读数;缺测格用斜纹和 NA 显示,不在色带中给它一个低值。
完成率的分母也影响解释。A 的 85% 若来自 20 次任务,C 的 80% 若来自 2000 次任务,两格可以比较点估计的数值,却不能只凭颜色推断精度或差异显著。若要比较不确定性,应附上每格分子、分母,必要时另给区间。
同一数据改看“偏离本组平均多少”
若研究的是每组自身的变化,可以先对每行求该组已有月份的平均,再从原值减去它。A 组均值为 ,所以四个月相对 A 均值的偏离为 个百分点。C 组均值为 ,偏离为 个百分点。
B 组只对三个月的有效值求均值:;不能把缺测月当成 0 再除以 4。图中 B 的其余偏离约为 个百分点。第二幅图用围绕零的发散颜色刻度:一端表示低于本组平均,另一端表示高于本组平均。
两幅图都正确,问题却不同。第一幅说“哪一格完成率较高”,第二幅说“哪一格比本组一般水平高多少”。不能拿第二幅里更暖的颜色宣称 C 第 4 月完成率超过 A 第 4 月;两组的零点已分别移到自身均值。若时间有自然顺序,应保留月份从左到右;任意重排列会破坏变化轨迹。行的排序可以帮助聚类,但同样要说明排序依据。
图表还应给出颜色条或明确的数值范围。本站示例格内逐一写数,避免颜色承担精确读数;正式数据较大时可配色标、说明单位,采用可辨认的顺序或发散色阶,并在黑白打印与色觉差异下检查可读性。没有明确单位的“深色更重要”并不是统计解释。
参考资料
- ggplot2:矩形单元格,给定表格数值后的填色表示。
- 英国国家统计局:图表用色,数量色阶、发散配色与可读性。
- 相关:二维分箱图、分面图、百分比与百分点、统计图。