2011-03-09 85 views
8

我创建了一个geom_point图表,其中y轴点是各个x轴值的平均值。当我试图用平均数来标记这个观点时,我得到的是所有的价值观。如何使用ggplot2标记图形的平均值

这是我到目前为止有:

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

回答

16

你可以结合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)) 
+1

你可能想在'geom_text'中使用'hjust'和'vjust'来在点和t之间放一些空格也是分机。 – James 2011-03-09 10:42:20

相关问题