How to Create a Circular Bar Plot in R with ggplot2
- Bernard Kilonzo
- May 16
- 2 min read

Overview
A circular bar chart is a type of bar chart plotted in a polar coordinate system, where bars radiate outward from a central point. This type of visualization is often used when there's a need to represent categorical data in a visually unique way, while still maintaining the clarity of a bar chart.
Example of a Circular Bar Plot

Step-by-step Guide
To create a circular bar plot, load the required libraries.

Set your working directory (default folder where R looks for files to read or save) and load the dataset.

Using as.yearmon() function from the Zoo library and month() function from lubridate library, extract the Month-Year and Month as strings, using the code below.

See the resulting dataset.

Next, compute the sales by month-year, then calculate the labels by merging the month-year and sales values – lastly compute the id’s, using the code below.

See the resulting dataset.

Create a circular bar plot using the code below.

Note: The y-axis limit has been set as -50,000 to 120,000 (you can use these values to set the limit of your plot).
Executing the above code generates the view below.

Labelling the Circular Bar Plot
Create data frame for labels using the code below.

Add labels to the view using the code below.

Executing the above code generates the view below.

Stacked Circular Bar Plot
Using the same dataset, you can create a stacked circular bar plot using the code below.

Executing the above code generates the view below.

Grouped Circular Bar Plot
Using the same dataset, you can create a grouped circular bar plot showing Sales by Month and Category using the code below.

Executing the above code generates the view below.

Conclusion
Circular bar plots provide a visually striking way to represent categorical data while making efficient use of space. They can be especially useful for displaying data with a cyclic nature, such as time-based trends or periodic patterns. While they may not always be the best alternative to traditional bar charts, they add versatility to data visualization and can enhance storytelling when appropriately applied. By leveraging R’s powerful plotting libraries, users can customize circular bar plots to suit their needs and create compelling visualizations that make their data more engaging and accessible.
If you like the work we do and would like to work with us, drop us an email on our contacts page and we’ll reach out!
Thank you for reading!