A circular barplot is a barplot where bars are displayed along a circle instead of a line. This page aims to teach you how to make a grouped and stacked circular barplot. I highly recommend to visit graph #295, #296 and #297 Before diving into this code, which is a bit rough.

I tried to add as many comments as possible in the code, and thus hope that the method is understandable. If it is not, please comment and ask supplementary explanations.

You first need to understand how to make a stacked barplot with ggplot2. Then understand how to properly add labels, calculating the good angles, flipping them if necessary, and adjusting their position. The trickiest part is probably the one allowing to add space between each group.






Make a search



Leave a Reply

2 Comment threads
1 Thread replies
Most reacted comment
Hottest comment thread
2 Comment authors
Peter SchaarschmidtAnonymous Recent comment authors
newest oldest most voted
Notify of

[…] This week, I will be analysing the associations between the most-frequently used words, and to researching best methods for displaying these relationships in a simple, informative graphic.  One promising candidate to explore is the circular stacked barplot. […]


Do you know how to display the fill description? To show what the different colors represent.

Peter Schaarschmidt
Peter Schaarschmidt

inside the theme() function, there is legend.position=”none” -change this to “right” to set the legend on the right, or for what I believe to be a better looking chart, set legend.position=c(0.5,0.5), this adds the legend in the middle of the circle.