r - ggplot2: How to add percentage labels to a donut chart -


i pretty new r... forgive me. i'm trying make donut plots using ggplot2. have modified code of post ggplot donut chart i'm not able add percentage on chart. attempt:

library(ggplot2)  blank_theme <- theme_minimal()+   theme(     axis.title.x = element_blank(),     axis.title.y = element_blank(),     panel.border = element_blank(),     panel.grid=element_blank(),     axis.ticks = element_blank(),     plot.title=element_text(size=14, face="bold")   )    dat = data.frame(count=c(319, 442, 239), category=c("university", "high scool", "lower"))   dat$fraction = dat$count / sum(dat$count)  dat$ymax = cumsum(dat$fraction) dat$ymin = c(0, head(dat$ymax, n=-1))  dat$category <- factor(dat$category, levels = c("university", "high scool", "lower"))   p1 = ggplot(dat, aes(fill=category, ymax=ymax, ymin=ymin, xmax=4, xmin=3)) +   geom_rect(color='blue') +   coord_polar(theta="y") +   xlim(c(1, 4))     edu<-p1 + scale_fill_brewer("education") + blank_theme +   theme(axis.text.x=element_blank()) + theme(legend.position=c(.5, .5)) + ggtitle("") +   theme(panel.grid=element_blank()) +   theme(axis.text=element_blank()) +   theme(axis.ticks=element_blank()) +   theme(legend.title = element_text(size=16, face="bold")) +   theme(legend.text = element_text(size = 14, face = "bold"))   edu 

i've tried many geom_text , scale_y_continuous code but... nothing. may me? thanks

you use geom_label:

edu +  geom_label(aes(label=paste(fraction*100,"%"),x=3.5,y=(ymin+ymax)/2),inherit.aes = true, show.legend = false) 

enter image description here


Comments

Popular posts from this blog

javascript - jQuery: Add class depending on URL in the best way -

caching - How to check if a url path exists in the service worker cache -

Redirect to a HTTPS version using .htaccess -