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 circular barplot with groups. Since this kind of chart is a bit tricky, I strongly advise to understand graph #295 and #296 that will teach you the basis.


The first step is to realise this circular plot with a break in the circle. Actually, I just added a few empty lines at the end of the initial data frame.




This concept can now be used to add space between each group of the dataset. I add n lines with only NA at the bottom of each group.

This chart is far more insightful since it allows one to quickly compare the different groups, and to compare the value of items within each group.

The right-hand chart is exactly the same one, but with observations sorted by bar height within each group. It can be useful if your goal is to understand what are the highest / lowest observations within and across groups.


To order the data, just add this code right after the data frame creation:

Last but not least, it is highly advisable to add some customisation to your chart. Here we add group names (A, B, C and D), and we add a scale to help compare the sizes of the bars. Voila! The code is a bit long, but the result is quite worth it in my opinion!





Make a search



Leave a Reply

4 Comments on "#297 Circular barplot with groups"

newest oldest most voted
Notify of
Thadeu Melo

Hi! I could not use the function:

# Order data:
data = data %>% arrange(group, value)

The response is:

> data=data %>% arrange(group)
Error in data %>% arrange(group) : could not find function “%>%”

What is the possible reason?

Luca Zavarella

Very nice plot! Just an hint to use a custom data frame: the values have to be rescaled to 0-100.