我试图在比例条形图中插入标签:每个分段一个标签,并将每个分段的百分比作为文本。随着thothal我设法做到这一点的帮助:插入与ggplot2和geom_text成比例的条形图中的标签
var1 <- factor(as.character(c(1,1,2,3,1,4,3,2,3,2,1,4,2,3,2,1,4,3,1,2)))
var2 <- factor(as.character(c(1,4,2,3,4,2,1,2,3,4,2,1,1,3,2,1,2,4,3,2)))
data <- data.frame(var1, var2)
dat <- ddply(data, .(var1), function(.) {
res <- cumsum(prop.table(table(factor(.$var2))))
data.frame(lab = names(res), y = c(res))
})
ggplot(data, aes(x = var1)) + geom_bar(aes(fill = var2), position = 'fill') +
geom_text(aes(label = lab, x = var1, y = y), data = dat)
我想有标签的每一级的百分比,而不是级别名称。
任何帮助表示赞赏!
感谢您的帮助!它完美地工作,但是......这不是我想要做的 - 我已经解释得很糟糕。我在编辑问题,解决了部分问题并添加了一个新部分:事实上,作为标签,我希望每个级别的var2的百分比而不是级别名称。 – 2014-10-27 14:03:37
好吧,不是那么难:只要改变'geom_text(。)'中的'label'参数:'geom_text(aes(label = round(y,2),x = var1,y = y),data = dat) 。也许你不想累积总和,而是各自的百分比,所以你应该调整'dat'的创建。 – thothal 2014-10-27 14:06:57
这给了我累积的百分比...我想有每个细分的百分比!我正在努力解决...... :)但是,再次感谢! – 2014-10-27 14:20:57