我想用ggplot2
创建下一个直方图密度图。在 “正常” 的方式(基础包)是很容易的:在ggplot2中创建密度直方图?
set.seed(46)
vector <- rnorm(500)
breaks <- quantile(vector,seq(0,1,by=0.1))
labels = 1:(length(breaks)-1)
den = density(vector)
hist(df$vector,
breaks=breaks,
col=rainbow(length(breaks)),
probability=TRUE)
lines(den)
随着ggplot我迄今所达成的:
seg <- cut(vector,breaks,
labels=labels,
include.lowest = TRUE, right = TRUE)
df = data.frame(vector=vector,seg=seg)
ggplot(df) +
geom_histogram(breaks=breaks,
aes(x=vector,
y=..density..,
fill=seg)) +
geom_density(aes(x=vector,
y=..density..))
但 “y” 的规模有错误的维度。我已经注意到下一次运行会得到正确的“y”比例。
ggplot(df) +
geom_histogram(breaks=breaks,
aes(x=vector,
y=..density..,
fill=seg)) +
geom_density(aes(x=vector,
y=..density..))
我只是不明白它。 y=..density..
在那里,那应该是高度。那么为什么地球上的规模在我尝试填充时会被修改?
我确实需要颜色。我只想要一个直方图,根据默认的ggplot填充颜色对每个块的中断和颜色进行定向设置。
我编辑你的提交,以便代码将适合在页面上。您可能会对Google关于如何为代码提供最大可读性和实用性的建议感兴趣:请参阅http://google-styleguide.googlecode.com/svn/trunk/Rguide.xml –