如何使用ggplot2使用值的平均值标记图形

时间:2011-03-09 06:27:58

标签: r ggplot2

我创建了一个geom_point图表,其中y轴点是各个x轴值的平均值。当我尝试用平均值标记点时,我得到的就是所有的值。

这是我到目前为止所做的:

ggplot(test, aes(x=reorder(Type, Rating, mean), y=Rating, label=Rating)) +
       stat_summary(fun.y="mean", geom="point") +
       geom_text()

1 个答案:

答案 0 :(得分:17)

你可以像这样结合stat_summary和geom_text:

d <- data.frame(grp=gl(3,5, labels=letters[1:3]), v=rnorm(15))
ggplot(d, aes(grp, v)) + 
  stat_summary(fun.y=mean, geom="point") +
  stat_summary(aes(label=..y..), fun.y=mean, geom="text", size=8)

但最好先预先聚合并格式化标签:

ggplot(transform(ddply(d, .(grp), summarize, v=mean(v)), V=sprintf("%.02f", v)), 
  aes(grp, v)) +
  geom_point() + geom_text(aes(label=V))