Problema
Queremos etiquetar cada unos de los rectángulos del siguiente gráfico de barras apilado.
sex <- c("m", "f", "m", "m", "m", "m", "m", "f", "f", "f")
age <- c(">10", ">20", ">30", ">10", ">20", ">30", ">10", ">20", ">30", ">10")
df <- data.frame(sex, age)
library(ggplot2)
ggplot(df1, aes(sex, fill = factor(age))) + labs(fill = "Age") + geom_bar()
Solución
ggplot(df1, aes(sex, fill = factor(age))) + labs(fill = "Age") + geom_bar() +
geom_text(stat = "count",
aes(y = ..count.., label = ..count..),
position = "stack", vjust = 3)
labs: para cambiar el título de la leyenda.
geom_text: con esta función añadimos las etiquetas al gráfico.stat = "count", aes(y = ..count.., label = ..count..): para contar los elementos de cada rectángulo.
position = "stack": para indicar que los elementos están apilados.
position = "stack": para justificar verticalmente los textos.
Referencias