ggplot2绘制直方图与《Hands On Programming With R》示例不符如何解决
差异原因
- 该问题由ggplot2版本迭代导致的默认分箱规则变动引发:《Hands On Programming With R》编写时采用的是更早版本的ggplot2,直方图的默认分箱边界对齐整数位;而你当前使用的ggplot2 3.3.5版本调整了直方图默认分箱逻辑,未指定对齐参数时会默认让分箱中心对齐整数位,因此出现了0.5为起点的偏移分箱。
解决方法
你只需要在qplot中额外补充boundary参数指定分箱的左边界为1,即可得到和书籍一致的效果,修改后代码如下:
x <- c(1, 2, 2, 2, 3, 3) qplot(x, binwidth = 1, boundary = 1)
你也可以通过指定center参数控制分箱中心位置实现同样效果,示例如下:
x <- c(1, 2, 2, 2, 3, 3) qplot(x, binwidth = 1, center = 1.5)
内容的提问来源于stack exchange,提问作者alice_
相关产品推荐
相关产品推荐

