分面图
分面图(faceted plot)把同一类图按一个或多个分组变量排成小图。各小图仍用相同的变量定义,却只显示本组观察值。它适合比较组内形状和组间差异,前提是读者知道各面板的尺度是否相同、每组有多少记录。分面只是重新组织显示,不能把同一批记录变成多次独立实验。
两组数据共用一把尺
假设 A、B 两组在第 1、2、3 天各有一次读数;下面为合成教学数据,响应量的单位暂记为同一个测量单位。
| 天数 | A 组 | B 组 | B − A |
|---|---|---|---|
| 1 | 2 | 8 | 6 |
| 2 | 3 | 9 | 6 |
| 3 | 4 | 10 | 6 |
图中每组各占一个面板,两个纵轴都从 到 。第 2 天 A 组的点在 ,B 组的点在 ,因此能沿共同刻度直接读出相差 。两组从第 1 天到第 3 天各增加 ,所以“变化量相同”与“绝对水平不同”同时成立。图上的线仅按时间顺序连接三次读数,不表示其间每天都有测量。
自由尺度改变能比较的东西
若让每幅图各自选择纵轴范围,例如 A 组用 到 ,B 组用 到 ,两组的三点可能在屏幕上处于几乎相同的高度。这样更容易看清组内小起伏,但失去了凭图形高度比较两组绝对水平的共同基准;必须回到各自轴上的数值才能发现 B 组始终高 。
共用尺度适合比较水平、斜率和波动幅度;自由尺度适合各组量级差距很大而只关心内部形状的场合。两种安排都可以诚实,但应在图上明确标出各面板的轴及单位。若 x 轴也自由,横向同样长度还可能代表不同的时间跨度。在这种情况下,即使两个面板中的线看起来一样陡,也不能仅凭线的角度比较变化率,须用 和轴单位计算。
分组、分母和缺测
分面变量必须来自记录中实际存在的组别。按地区分面后再在每个地区画直方图,若显示频数,样本量大的面板通常有更高的柱;若各图分别归一化为面积一,则比较的是各地区内部的分布形状,不能从曲线高度直接读出地区总人数。每个面板应标注样本量;缺一组资料时,空面板表示无资料或被筛除,不表示该组观测值为零。
当分面变量有两个,例如地区与处理方式,行和列能表示两种分类的组合。若某种组合原本不存在,应说明设计上缺失;若本应有数据却没有记录,应说明缺测。把十几个组全放进一个图例会让颜色难辨,分面可减轻遮盖,但面板过多同样会使每幅图小到无法读数,应保留主要比较对象。
分面不是统计调整。图中的 B 组较高可能与组别、测量单位、初始条件或选样有关;仅凭两条曲线不能确定因果。继续分析时应回到原始表、样本机制及适当的统计推断或模型。有关连线的条件见折线图;关于点的重合和分组见散点图。
参考资料
- ggplot2:网格分面官方说明,固定尺度、自由尺度和面板布局。
- ggplot2:分面常见问题,分面轴范围的选择。
- 相关:统计图形语法、直方图、折线图。