【发布时间】:2014-01-30 10:47:18
【问题描述】:
我想用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 关于如何编码以获得最大可读性和实用性的建议感兴趣:请参阅 google-styleguide.googlecode.com/svn/trunk/Rguide.xml
标签: r ggplot2 colors histogram probability-density