【发布时间】:2017-03-28 09:13:55
【问题描述】:
我想将表格绘制为堆积条形图并用百分比标记条形。这是一个例子:
data <- matrix(c(34, 66, 22, 78), ncol = 2)
data <- as.table(data)
colnames(data) <- c("shop1", "shop2")
rownames(data) <- c("prod1", "prod2")
library(reshape2)
data_m <- melt(data, varnames = c("Product", "Shop"), id.vars = "Product")
library(scales)
library(ggplot2)
ggplot(data_m, aes(x = Shop, y = value, fill = Product)) +
geom_bar(position = "fill", stat = "identity") +
scale_y_continuous(labels = percent_format()) +
labs(x = "", y = "")
我尝试添加标签
geom_text(data = data_m, aes(x = Shop, y = value,
label = paste0((value/100) * 100,"%")), size=4)
编辑:我得到 JanLauGe 的回答
现在,百分比分配错误。
另一个说明:如果表格的列总和不一样,例如 91 和 107 而不是我上面示例中假设的 100,该怎么办?
【问题讨论】: