我的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)
答案 0 :(得分:2)
也许这些其他Stackoverflow问题可以帮助您:
我在我的机器上用一些随机数据进行了一些测试,我尝试了这个:
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中的数据给我一个很好的结果,但可能你需要不同的值。