Welcome to Stack Overflow Surbhi Mishra.
I've tried to reproduce the example from R Graph Gallery that you've shared with us. But next time try to elaborate a little better on it. It helps us to help you... :)
Let me cut to the chase. I couldn't use paystatus because you haven't shared the data, but I think you may want something like this:
# setup environment
library(tidyverse)
# create dataframe
data = data.frame(
month = c('Jan', 'Feb', 'Mar', 'Apr', 'Dec'),
n = c(333, 557, 98, 545, 654),
id = 1:5
)
# define labels
nrows = nrow(data)
angle = 90 - 360*(data$id - 0.5)/nrows
label = data
label$hjust = ifelse(angle < -90, 1, 0)
label$angle = ifelse(angle < -90, angle + 180, angle)
# plot
ggplot(data, aes(x = as.factor(id), y = n)) +
geom_bar(stat = "identity", fill = alpha("skyblue", 0.7)) +
ylim(-200, 700) +
theme_minimal() +
theme(
axis.text = element_blank(),
axis.title = element_blank(),
panel.grid = element_blank(),
plot.margin = unit(rep(-1, 4), "cm")) +
coord_polar(start = 0) +
geom_text(data = label, aes(x = id, y = n + 10, label = month, hjust = hjust),
color = "black", fontface = "bold", alpha = 0.6, size = 4,
angle = label$angle, inherit.aes = FALSE)
Here is the output:

Please, let us know if that is what you're looking for.