Я использую следующий код
education_bachelor_summary<- education_bachelor %>%
group_by(title_mapped) %>%
summarise(n=n()) %>%
mutate(perc = n / sum(n)) %>%
arrange(desc(n)) %>%
mutate(label=(str_c(title_mapped, "-", as.character(percent(perc)), sep=" ")))
midpoint <-sum(education_bachelor_summary$perc) - cumsum(education_bachelor_summary$perc) + education_bachelor_summary$perc/2
ggplot(education_bachelor_summary, aes(x = "", y=perc, fill = factor(title_mapped))) +
geom_bar(width = 1, stat = "identity") +
scale_y_continuous(breaks=midpoint, labels=education_bachelor_summary$label) +
scale_fill_brewer(palette = "Blues", direction = -1) +
labs(fill="Bachelor/ Vordiplom",x=NULL,y=NULL,title="",caption="") +
coord_polar(theta = "y", start=0) +
theme(axis.ticks = element_blank(), panel.grid = element_blank(), axis.line = element_blank(), strip.background = element_blank(), panel.background = element_blank())
, который генерирует следующий график
![enter image description here](https://i.stack.imgur.com/QsXuB.jpg)
Вопросы
- Этикетки рядом с кусочками пирога отрезаны .
- метки на кусочках пирога правильные, но метки на правой стороне перепутаны, "Informatik" и "Mathe" переключаются.
Код для воспроизведения примера
library(tidyverse)
library(scales)
education_bachelor_summary <- structure(list(title_mapped = c("BWL","Mathe", "Informatik", "VWL", "Wirtschaftsingenieurwesen"), n = c(82L, 37L, 33L, 10L, 5L), perc = c(0.491017964071856, 0.221556886227545, 0.197604790419162, 0.0598802395209581, 0.029940119760479), label = c("BWL - 49.1%", "Mathe - 2.2%", "Informatik - 19.8%", "VWL - 6.0%", "Wirtschaftsingenieurwesen - 3.0%")), class = c("tbl_df", "tbl", "data.frame"), row.names = c(NA, -5L))
midpoint <-sum(education_bachelor_summary$perc) - cumsum(education_bachelor_summary$perc) + education_bachelor_summary$perc/2
ggplot(education_bachelor_summary, aes(x = "", y=perc, fill = factor(title_mapped))) +
geom_bar(width = 1, stat = "identity") +
scale_y_continuous(breaks=midpoint, labels=education_bachelor_summary$label) +
scale_fill_brewer(palette = "Blues", direction = -1) +
labs(fill="Bachelor/ Vordiplom",x=NULL,y=NULL,title="",caption="") +
coord_polar(theta = "y", start=0) +
theme(axis.ticks = element_blank(), panel.grid = element_blank(), axis.line = element_blank(), strip.background = element_blank(), panel.background = element_blank())
В общем, я хочу улучшить свою круговую диаграмму. Мне нужна круговая диаграмма с читаемыми метками рядом с каждым куском пирога.