如何填充ggplot2 geom_freqpoly图中的线条下方的区域?

时间:2016-05-17 07:25:18

标签: r ggplot2

我正在使用ggplot2绘制X轴上的连续变量与Y轴中的相应计数(不是密度)。

这是我的代码

{'c', 'd'}

这会生成如下图:

enter image description here

我希望这些线条下面的区域充满颜色和透明度。我知道在ggplot2中对密度图进行此操作,但我仍然坚持使用此频率多边形。

另外,如何更改右侧的图例?例如,我想要'set item'而不是26 p <- ggplot(matched.frame, aes(x = AGE, color = as.factor(DRUG_KEY))) + geom_freqpoly(binwidth=5) p1 <- p + theme_minimal() plot(p1) 而不是'{27}。而不是Cases,我希望它显示为“颜色”

示例数据

Controls

1 个答案:

答案 0 :(得分:2)

您可以使用geom_ribbon填充曲线下的区域和scale_fill_discrete(填充颜色)以及scale_color_discrete(线条颜色)来更改图例标签:

library(ggplot2)
set.seed(1)
df <- data.frame(x = 1:10, y = runif(20), f = gl(2, 10))
ggplot(df, aes(x=x, ymin=0, ymax=y, fill=f)) + 
  geom_ribbon(, alpha=.5) + 
  scale_fill_discrete(labels = c("1"="foo", "2"="bar"), name = "Labels")

关于你的编辑:

ggplot(matched.frame, aes(x=AGE, fill=as.factor(DRUG_KEY), color=as.factor(DRUG_KEY))) + 
  stat_bin(aes(ymax=..count..,), alpha=.5, ymin=0, geom="ribbon", binwidth =5, position="identity", pad=TRUE) + 
  geom_freqpoly(binwidth=5, size=2) + 
  scale_fill_discrete(labels = c("26"="foo", "27"="bar"), name = "Labels") + 
  scale_color_discrete(labels = c("26"="foo", "27"="bar"), name = "Labels")