标记100%堆积条形图

时间:2013-04-16 13:43:42

标签: r ggplot2

如何使用堆栈中的适当值标记100%堆积条形图(如下所示)?

# dummy data
dat <- data.frame(
   Banner=c(rep("Company A",5),rep("Company B",5)), 
   Response=factor(c(1:5,1:5)), 
   Proportion=c(10,20,40,20,10,10,30,40,10,10))

dat <- rbind(dat,dat,dat)
dat$Time <- c(rep("Time 1",10),rep("Time 2",10),rep("Time 3",10))

我可以这样绘制,没有标签,没问题:

ggplot(dat, aes(Banner, Proportion, fill=Response)) + 
   geom_bar(position="stack", stat="identity") + 
   facet_grid(~Time)

100% stacked bar by two variables

然而,我需要做的是标记每个元素,最好是在元素的中心。我记得看到使用ddply的一个函数(我认为这是Ramnath的答案),但对于我的生活我找不到它。

类似的东西:

dat <- ddply(dat, .(Banner, Time), function(x) {
   x$Pos <- cumsum(x$Proportion) # at top of element, want middle!
   x})

0 个答案:

没有答案