如何让我的条形图中的条形图具有相同的高度?
> head(data.m)
Classes variable value
1 rRNA KO1.DOC 4.890821e+04
2 rRNA KO1.DOC 3.068479e+03
3 Other KO1.DOC 7.618553e+01
4 Other KO1.DOC 4.043281e-01
5 Other KO1.DOC 0.000000e+00
6 Other KO1.DOC 0.000000e+00
ggplot(data.m, aes(variable, fill=Classes, order = -as.numeric(Classes))) +
geom_bar(aes(y=value), position="stack", stat="identity") +
theme_bw(base_size=8)
答案 0 :(得分:3)
答案是geom_bar
使用position="fill"
:
# regular barplot
ggplot(mtcars, aes(x=factor(cyl), fill=factor(vs))) +
geom_bar()
# "filled"
ggplot(mtcars, aes(x=factor(cyl), fill=factor(vs))) +
geom_bar(position="fill")
答案 1 :(得分:1)
data.m <- melt(data=data, id.vars="Classes")
head(data.m)
dt <- data.table(data.m)
data.m <- dt[, list(count = sum(value)), by=list(Classes,variable)]
data.m <- data.m[, list(Classes=Classes, prop = count/sum(count)), by=variable]
ggplot(data.m, aes(variable,fill=Classes, order = -as.numeric(Classes))) +
geom_bar(aes(y=prop), position="stack", stat="identity") +
theme_bw(base_size=8)