向饼图添加值和百分比

Ril*_*ley 1 r ggplot2

我正在尝试制作一个饼图来分解 3 个不同类别之间的值拆分(是的,我知道堆叠条形图会更好,但我真的没有选择)。我想出了如何在堆积条形图上使用 +coord_polar 制作饼图,并隐藏刻度/轴标签,但我需要在饼图的每个切片中包含实际值以及总数的百分比,并且我不知道该怎么做。这是我正在使用的代码(我使用的数据是机密的,所以我用一些模拟数据替换了它)。

library(ggplot2)

simuldata <- data.frame(Category = LETTERS[1:3], 
                        value = c(196, 149,127))

piechart <- ggplot(simuldata, aes(x="", y=value, fill=Category)) +
  geom_bar(width=1, stat="identity") +
  coord_polar("y", start=0) +
  xlab("") +
  ylab("Value") +
  theme(axis.text.x=element_blank(),axis.ticks.x=element_blank())

piechart
Run Code Online (Sandbox Code Playgroud)

产生这个图表

我将如何将值和百分比添加到每个切片?

Z.L*_*Lin 6

您可以添加一个geom_text()图层,将要堆叠的每个标签放置在中间并垂直对齐:

piechart +
  geom_text(aes(label = paste0(value,
                               " (",
                               scales::percent(value / sum(value)),
                               ")")),
            position = position_stack(vjust = 0.5))
Run Code Online (Sandbox Code Playgroud)

阴谋