dataset_complication <- dataset_complication %>%
mutate(percentage = number / sum(number) * 100)
dataset_complication$side_effect_group <- factor(dataset_complication$side_effect_group, levels = c("no_side_effect", "ischemic_complication", "bleeding_complication"))
new_labels <- c("No complication", "Ischemia", "Bleeding")
ggplot(dataset_complication, aes(x="", y=number, fill=side_effect_group)) +
geom_bar(stat="identity", width=1) +
coord_polar("y", start=0) +
theme_minimal() +
theme(
axis.text.x=element_blank(),
axis.title.x=element_blank(),
axis.title.y=element_blank(),
panel.border = element_blank(),
panel.grid=element_blank(),
axis.ticks = element_blank(),
plot.title=element_text(size=14, face="bold")
) +
labs(title="", fill="Complication type") +
scale_fill_manual(values = c(color_c, color_b, color_a),
labels = new_labels
) +
geom_text_repel(aes(label = paste0(round(percentage, 0), "%")), color="black"
,position = position_stack(vjust = 0.5)
,force = 0.001
)

geom_text(aes(y = number/2 + c(0, cumsum(number)[-length(number)]),
label = paste0(round(percentage, 1), "%")), color="white")
## mapping: y = ~number/2 + c(0, cumsum(number)[-length(number)]), label = ~paste0(round(percentage, 1), "%")
## geom_text: parse = FALSE, check_overlap = FALSE, na.rm = FALSE
## stat_identity: na.rm = FALSE
## position_identity