考虑以下数据集:
ig_5 <- data.frame(
category = c("A", "B", "C", "D", "E", "F"),
prop = c(0.1, 0.2, 0.15, 0.25, 0.05, 0.25)
) %>%
mutate(lab.ypos = cumsum(prop) - 0.5*prop)
Run Code Online (Sandbox Code Playgroud)
我使用以下代码创建了一个圆环图:
ggplot(ig_5, aes(x = 2, y = prop, fill = prop)) +
geom_bar(stat = "identity", color = "white") +
coord_polar(theta = "y", start = 0) +
geom_text(aes(y = lab.ypos, label = prop), color = "black", size = 5) +
xlim(.5, 2.5)
Run Code Online (Sandbox Code Playgroud)
可以看到,值标签放置在每个类别的中间。现在,我需要将数字放置在每个值标签的正下方。我不能只是将新对象粘贴到值中,因为文本和图形的颜色不同。因此,我想应该有一种方法可以使用值标签的坐标(x = 2,y = lab.ypos = cumsum(prop) - 0.5 * prop)来根据我的需要定位数字。
我使用 …