In the ggalign package, I have added a pie layer function. We can draw pie chart without depend on the coord_polar.
library(ggalign)
set.seed(123)
data <- expand.grid(X = factor(1:20), Y = factor(1:18))
data$Category <- rep(c("A", "B", "C"), each = 120)
data$Value <- runif(360)
ggplot(data, aes(x = X, y = Y, angle = Value * 360, fill = Category)) +
geom_pie() +
theme_void()