I want to use ggplot to make a histogram using percentages. I found this answer that gets me part of the way there.
However, I also want to place a label at the top of each histogram bar showing the actual percentage.
Here is my code and a link to the output:
p <- ggplot(mtcars, aes(x = hp)) +
geom_bar(aes(y = (..count..)/sum(..count..)), binwidth = 25) +
## scale_y_continuous(labels = percent_format()) #version 3.0.9
scale_y_continuous(labels = percent) #version 3.1.0
p <- p + stat_bin(aes(label=round((..count..)/sum(..count..),2)), geom="text", size=4)
plot(p)
Here is the output:
Unfortunately, you can see that the data labels are placed at the non-percentage locations and the bars are "smushed" down.
Is there a way to change the stat_bin parameters so that the text labels actually show up inside or immediately on top of the percentage bars (so that my bars aren't smushed)?
Thank you!