1

我想注释一个图以显示每列的总数。例如

 ggplot(diamonds, aes(clarity, fill=cut)) + 
        geom_bar(position="fill") +
        scale_y_continuous(name="proportion")

这将产生一个堆叠的条形图。然而,很难知道每个条的 n 是多少。I1、SI2 等。如何对其进行注释,以便对于每个条形,n 都显示在顶部?

4

1 回答 1

3

最简单的方法是在绘图之前计算总数,然后将它们分别添加到绘图中。首先,我们计算列总数:

totals = tapply(diamonds$price, diamonds$clarity, length)
dd = data.frame(clarity = names(totals), labels = as.vector(totals), y= 1)

然后我们使用geom_text添加总数:

ggplot(diamonds, aes(clarity)) + 
    geom_bar(aes( fill=cut), position="fill") +
    scale_y_continuous(name="proportion") + 
    geom_text(data=dd, aes(x=clarity, y=y, label=labels), size=4)
于 2012-11-19T09:24:07.210 回答