Я работаю над диаграммой пончиков, используя ggplot2, но мне нужен центр графика, чтобы содержать текст.
Вот пример данных (найден с этого сайта: https://www.datanovia.com/en/blog/how-to-create-a-pie-chart-in-r-using-ggplot2/):
library(dplyr)
count.data <- data.frame(
class = c("1st", "2nd", "3rd", "Crew"),
n = c(325, 285, 706, 885),
prop = c(14.8, 12.9, 32.1, 40.2)
)
count.data <- count.data %>%
arrange(desc(class)) %>%
mutate(lab.ypos = cumsum(prop) - 0.5*prop)
count.data
Затем я изменил их код, чтобы получить эту диаграмму пончика:
library(ggplot2)
library(dplyr)
mycols <- c("#0073C2FF", "#EFC000FF", "#868686FF", "#CD534CFF")
ggplot(count.data, aes(x = 2, y = prop, fill = class)) +
geom_bar(stat = "identity", color = "white") +
coord_polar(theta = "y", start = 0)+
geom_text(aes(y = lab.ypos, label = paste0("n = ", n, ", \n", prop, "%")), color = "white")+
scale_fill_manual(values = mycols) +
theme_void() +
xlim(.5, 2.5)
Сюжет выглядит так:
Это именно то, что я хочу, за исключением того, что мне нужно, чтобы центр пончика имел пропорцию от переменной. В этом случае я хочу, чтобы центр сказал 40,2% (в этом примере - опора экипажа).
Как мне это сделать?