2011-03-09 8 views
8

He creado un gráfico geom_point donde los puntos del eje y son la media de los valores respectivos de cada valor del eje x. Cuando intento etiquetar el punto con la media, lo que obtengo son todos los valores.Cómo etiquetar el gráfico con la media de los valores usando ggplot2

Esto es lo que tengo hasta ahora:

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

Respuesta

16

Puede combinar stat_summary y geom_text así:

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) 

pero probablemente es mejor agregar antemano y dar formato a la etiqueta:

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

Probablemente quiera jugar con 'hjust' y' vjust' en 'geom_text' para poner algo de espacio entre los puntos y la t ext. también – James

Cuestiones relacionadas