使用连续数据的带空格的直方图(width=... 不起作用)

Histogram with spaces using continuous data (width=... doesn't work)

我正在尝试使用 ggplot 绘制直方图,它在条形之间有一些 space。

这对离散数据没有问题:

b= data.frame(x=sample(LETTERS[1:3],size=50, replace=T))
ggplot(b, aes(x=x)) + geom_bar(width=.3)

但是,使用连续数据,width好像没有效果。

a= data.frame(x=rnorm(100))
ggplot(a, aes(x=x, width=.5)) +
geom_bar(width=.3, binwidth=1)

如何将具有 spaced 条柱的直方图归档为连续数据?

我认为这样做是一个非常糟糕的主意(并且 ggplot2 不支持它)。

这是一种可能性:

breaks <- pretty(range(a$x), n = 6, min.n = 1)
mids <- 0.5 * (breaks[-1L] + breaks[-length(breaks)])

ggplot(a, aes(x = cut(x, breaks = breaks, labels = mids))) + 
    geom_bar(width=.3)