结合情境选择箱宽
提供的代码展示了按一天中的小时统计的开罚单分布。请注意,这些柱子并没有恰好落在整点上,导致柱高不太好解读。遇到这种具有自然分界点的数据,应该加以利用。在本例中,我们可以把分割点设在整点边界上。
修改 geom_histogram(),将 binwidth 设为 1 小时。不过,这个参数并不会告诉 ggplot 从哪里"开始"分箱;默认起点由数据范围决定。为了解决这个问题,请将 center 参数设为 0.5。这表示您希望有一根柱子以凌晨 0 点 30 分为中心,ggplot 会据此排列其他柱子。(您也可以设置为任意整点 + 0.5,例如 2.5、3.5 等。)
本练习是课程的一部分
R 中的可视化最佳实践
练习说明
- 将图形的
binwidth设为 1。 - 使用
center参数把柱子居中在半点位置。
交互式实操练习
通过完成这段示例代码来试试这个练习。
ggplot(md_speeding,aes(x = hour_of_day)) +
geom_histogram(
___ # set binwidth to 1
___ # Center bins at the half (0.5) hour
) +
scale_x_continuous(breaks = 0:24)