R 如何在不创建摘要数据框的情况下在ggplot2中标记堆叠条形图?
下面的代码提供了一个奇妙的堆叠条形图R 如何在不创建摘要数据框的情况下在ggplot2中标记堆叠条形图?,r,label,ggplot2,bar-chart,R,Label,Ggplot2,Bar Chart,下面的代码提供了一个奇妙的堆叠条形图 cls.grp <- gl(n=4,k=20,labels=c("group a","group b","group c", "group d")) ser <- sample(x=c("neg","pos"),size=80,replace=TRUE, prob=c(30,70)) syrclia <- data.frame(cls.grp,ser) ggplot(syrclia, aes(cls.grp, fill=ser))+ geo
cls.grp <- gl(n=4,k=20,labels=c("group a","group b","group c", "group d"))
ser <- sample(x=c("neg","pos"),size=80,replace=TRUE, prob=c(30,70))
syrclia <- data.frame(cls.grp,ser)
ggplot(syrclia, aes(cls.grp, fill=ser))+ geom_bar()
cls.grpgeom\u bar
默认使用stat\u bin
。因此,您应该使用stat\u bin
来绘制数字,告诉它使用geom\u text
并使用新生成的.count..
作为标签
cls.grp <- gl(n=4,k=20,labels=c("group a","group b","group c", "group d"))
ser <- sample(x=c("neg","pos"),size=80,replace=TRUE, prob=c(30,70))
syrclia <- data.frame(cls.grp,ser)
library(ggplot2)
total <- ddply(syrclia, .(cls.grp), function(x) nrow(x))[, 2]
ggplot(syrclia, aes(cls.grp, fill=ser))+ geom_bar() +
stat_bin(geom = "text",
aes(label = paste(
..count../get("total", envir = .GlobalEnv)*100,"%")))
cls.grp您能否提供一个小示例,说明您希望将哪些标签放置在条上,以及您希望将哪些标签放置在哪里?我有一点复杂。在我的真实数据集中,每列并没有20个。它们是一个可变的数字。我需要计数来计算每列的计数并添加“%”符号。