将标签贴在馅饼ggplot2上

时间:2015-03-17 16:39:45

标签: r ggplot2 pie-chart labels

我的df看起来像:

1   with score
125 without score

我想在ggplot中制作饼图:

ggplot(data = df_pp, aes(x = "", y = Number/sum(Number),fill =     PolyPhen_score)) + geom_bar(stat="identity") + coord_polar(theta='y')  +
ggtitle("Variants with PolyPhen score and without PolyPhen score") + 
scale_y_continuous(labels  = percent) + labs(x = "", y = "") +
theme(panel.background = element_rect(fill = 'white')) + 
geom_text(aes(label = paste(round(Number/sum(Number)*100),"%")),vjust = 5)

但我的标签1%和99%在饼图上重叠。

如果我添加此代码,则无法提供帮助:

geom_text(aes(y=Number/2 + c(0,cumsum(Number)[-length(Number)]), label = percent(Number/100)), size=5)

1 个答案:

答案 0 :(得分:2)

也许这些其他Stackoverflow问题可以帮助您:

  1. ggplot, facet, piechart: placing text in the middle of piechart slices
  2. R + ggplot2 => add labels on facet pie chart
  3. 我在我的机器上用一些随机数据进行了一些测试,我尝试了这个:

    geom_text(aes(x = 1.7, y=cumsum(Number/sum(Number)) - Number/sum(Number)/2, label = paste(round(Number/sum(Number)*100),"%")), size = 6)
    

    X是标签距饼图中心的距离。 x = 1.7使用RStudio中的数据给我一个很好的结果,但可能你需要不同的值。