Wyśrodkuj etykiety skumulowanego paska (liczby) ggplot2
Próbuję umieścić etykiety na wykresie słupkowym za pomocą tego podejścia (choć jeśli jest teraz lepsze podejście, jestem otwarty na to, co kiedykolwiek):
Wyświetlanie wartości danych na skumulowanym wykresie słupkowym w ggplot2
Oto moja oryginalna fabuła:
dat <- data.frame(with(mtcars, table(cyl, gear)))
ggplot(dat, aes(x = gear, fill = cyl)) +
geom_bar(aes(weight=Freq), position="stack") +
geom_text(position = "stack", aes(x = gear, y = Freq,
ymax = 15, label = cyl), size=4)
Oto moja próba wyśrodkowania etykiet w każdej sekcji wypełnienia:
dat2 <- ddply(dat, .(cyl), transform, pos = cumsum(Freq) - 0.5*Freq)
library(plyr)
ggplot(dat2, aes(x = gear, fill = cyl)) +
geom_bar(aes(weight=Freq), position="stack") +
geom_text(position = "stack", aes(x = gear, y = pos,
ymax = 15, label = cyl), size=4)
Jak mogę wyśrodkować etykiety w każdej sekcji wypełnienia?