geom_histogram() 中的变量 binwith

Variable binwith in geom_histogram()

我喜欢在ggplot2中设置不同的binwidths。

作为示例,我使用数据集

library(Stat2Data)
data("YouthRisk2007")
head(YouthRisk2007)
  ride.alc.driver female grade age4 smoke DriverLicense
1               1      1    10   15     1             0
2               1      1    10   18     1             1
3               1     NA    NA   NA    NA            NA
4               0      0    11   17     0             1
5               0      0    11   17     0             1
6               0      0    11   17     1             1

library(dplyr)
library(ggplot2)

YouthRisk2007 %>% 
    ggplot(aes(age4)) +
      geom_histogram(binwidth = 1)

您每年生成一个直方图。

现在我喜欢设置不同的binwidth(14-15年,16-17年,18年[width of the 类])让面积和频率成正比(不仅仅是垃圾箱的高度)。 binwidth应该在视觉上有所不同,而不仅仅是为了计算频率。

我的第一个想法是将 binwidth 设置为向量 binwidth = c(2,3) 但这是不允许的。

有办法吗?

如果您事先知道所需的断点,则可以使用 scale_x_binned()。它需要 ggplot v3.3.0+.

library(ggplot2)

ggplot(mtcars) +
  geom_bar(aes(mpg)) +
  scale_x_binned(breaks = c(10, 13, 15, 16, 25, 30))

reprex package (v0.3.0)

于 2020-05-28 创建