是否可以删除多个箱中直方图中的空间?

时间:2018-03-05 21:12:56

标签: r ggplot2 histogram

我正在绘制一个有很多箱子(1000+)的直方图。代码如下:

library(tidyverse)
xx=rpois(1000,lambda = 40)
y=density(xx,n=1000,from=0)

ggplot(data.frame(x = y$x, y = y$y), aes(x, y)) + 
  geom_line() + 
  geom_histogram(stat='identity',aes(fill=y))

enter image description here

正如您所看到的,它在我的条形图之间添加了不需要的间距(我想要一个无缝渐变)。有没有办法删除这些空格?作为参考,我知道使用geom_segment来实现这些结果的方法,所以现在我只对修复直方图问题感兴趣(如果可能的话)。在color=y内设置aes可行,但我的更大目标是一个hacky代码,它让我基本上用两个完全独立的渐变来绘制两条密度曲线(因此我需要保存geom_segment和{ {1}}用于其他密度曲线)。

谢谢!

1 个答案:

答案 0 :(得分:1)

添加width=语句(这取决于您的比例)会强制条重叠。它确实给了我一条警告信息position_stack requires non-overlapping x intervals,但它仍然没有空格。我的下面的例子:

library(tidyverse)
xx=rpois(1000,lambda = 40)
y=density(xx,n=2000,from=0)

ggplot(data.frame(x = y$x, y = y$y), aes(x, y)) + 
  geom_histogram(stat='identity',color=NA,aes(fill=y),width=0.1) +
  geom_line()

enter image description here