在geom_histogram中填充颜色(..密度..,组= 1)

时间:2012-08-02 08:37:48

标签: r ggplot2

我有geom_histogram函数的基本问题

使用数据集:

df <- data.frame(value = factor( rep(c("A","B"), c(100,200) )))

我创建了一个直方图:

ggplot(df, aes(x=value, fill = factor(value))) + geom_histogram()

并且输出是直方图,A的计数为100,B的计数为200

如果我用密度绘制密度:

ggplot(df, aes(x=value, fill = factor(value), ..density..)) + geom_histogram()

输出是一个直方图,A的密度为1,B的密度为1.我假设原因是密度是分别在A和B上计算的。

使用以下方法创建的直方图:

ggplot(df, aes(x=value, group = 1, fill = factor(value),..density..)) + geom_histogram()

是直方图,其中A是0.33,B是0.66,但填充颜色是黑色,我找不到在此版本的绘图中获得前一个直方图中使用的填充颜色的方法。

如何使用基于因子(值)的填充颜色生成最新版本的直方图?

1 个答案:

答案 0 :(得分:3)

我用以下方法解决了问题:

ggplot(df, aes(x=value, fill = factor(value))) + 
 geom_histogram(aes(y=..count../sum(..count..)))