开始使用免费开始使用

让数据点"下雨"

周初出现的双峰趋势可能有说服力,但在收尾前,我们应该在密度曲线下方绘制单个数据点,这样可以直观看到 KDE 的插值在做什么。

在之前练习的代码基础上,已添加了点图层来实现这一点。您会注意到,现在的图并不好看。为了改进,我们要做几件事……

首先,稍微降低点的 alpha,以便观察重叠。其次,把点的形状切换为 geom_rug() 风格的竖线('|')。

此时如果运行代码,您会看到这些点与密度形状尴尬地相互遮挡。我们需要把刻度线在 y 轴方向上"轻推"一下。为此可使用 position 参数配合辅助函数 position_nudge()

本练习是课程的一部分

R 中的可视化最佳实践

查看课程

练习说明

  • 将点的 alpha 降到 0.2,以展示重叠。
  • 将线的 shape 改为 '|',以更高效地利用空间。
  • 使用 position = position_nudge(y = -0.05) 将点向下推,避免与密度形状重叠。

交互式实操练习

通过完成这段示例代码来试试这个练习。

md_speeding %>% 
    mutate(day_of_week = factor(day_of_week, levels = c("Mon","Tues","Wed","Thu","Fri","Sat","Sun") )) %>% 
    ggplot(aes( x = percentage_over_limit, y = day_of_week)) + 
    geom_point(
        # make semi-transparent with alpha = 0.2
        # turn points to vertical lines with shape = '|'
        # nudge the points downward by 0.05
    ) +
    geom_density_ridges(bandwidth = 3.5, alpha = 0.7) +
    scale_x_continuous(limits = c(0,150), expand  = c(0,0)) +
    labs(subtitle = 'Guassian kernel SD = 3.5') +
    theme( axis.ticks.y = element_blank() )
编辑并运行代码