我的问题涉及ggplot中的情节 . 如果您加载ggplot2附带的“钻石”数据集,则运行每个图像下方的代码应该有效 .
我想生成一个这样的图形:
library(ggplot2)
#First plot
p1 <- ggplot(diamonds, aes(color)) + geom_bar(aes(group = cut, y = ..density..))
p1 <- p1 + facet_wrap(~cut)
p1
但我想按因子为每个方面的每个条形图着色,如下图所示:
#Second plot
p2 <- ggplot(diamonds, aes(color)) + geom_bar(aes( y = ..density.., fill = color))
p2 <- p2 + facet_wrap(~cut)
p2
问题是当我试图将它们两者都称为“group =”和“fill =”时,它们似乎相互干扰;当调用“group”时,ggplot似乎忽略了“fill”命令 .
对组的调用很重要,因为它强制y轴对每个面进行缩放,因此每个面内的密度总计为1.但是,我希望能够使用填充颜色在视觉上区分组 .
我该如何解决这个问题?
1 回答
问题出在
..density..
上 . 它通常是一个方便的快捷方式,但在像这样的更复杂的情况下,通常更容易自己计算:我应该补充一点,比较我的情节和
p1
,形状是相同的,但是比例看起来有点不同(我的整体略低) . 我不知道为什么 .