在饼图上显示百分比值
问题描述:
我正在尝试用ggplot2绘制饼图。我的代码如下所示。在饼图上显示百分比值
df <- data.frame(
variable = c("australia","hungary","germany","france","canada"),
value = c(632,20,491,991,20)
)
ggplot(df, aes(x = "", y = value, fill = variable)) +
geom_bar(width = 1, stat = "identity") +
scale_fill_manual(values = c("red", "yellow","blue", "green", "cyan")) +
coord_polar(theta = "y") +
labs(title = "pie chart")
我想显示百分比值。我怎样才能做到这一点?
答
尝试
df <- data.frame(
variable = c("australia","hungary","germany","france","canada"),
value = c(632,20,491,991,20)
)
library(ggplot2)
ggplot(transform(transform(df, value=value/sum(value)), labPos=cumsum(value)-value/2),
aes(x="", y = value, fill = variable)) +
geom_bar(width = 1, stat = "identity") +
scale_fill_manual(values = c("red", "yellow","blue", "green", "cyan")) +
coord_polar(theta = "y") +
labs(title = "pie chart") +
geom_text(aes(y=labPos, label=scales::percent(value)))
那你试试?为什么它不起作用? (有人可能已经告诉过你,但如果还没有发生,饼图不是显示数据的最佳方式,你可以考虑一个条形图) – Heroka
今天早些时候,我指出[上面的第一个链接] (http://*.com/questions/16184188/ggplot-facet-piechart-placing-text-in-the-middle-of-pie-chart-slices)。请仔细研究[第一个答案](http://*.com/a/22804400/2204410)。它对如何做到这一点给出了详细的解释。 – Jaap
@Heroka我的努力已经在问题中显示为代码。我的代码工作正常。但我需要显示该图的百分比。在没有阅读问题的情况下写评论并不好。 – bhl