如何用ggplot2绘制带有data.frame颜色填充的geom_bar图

时间:2016-05-31 14:53:57

标签: r ggplot2

我想得到一个条形图,其中条形高度对应一个总值,条形本身根据部分值分为颜色。

df <- data.frame(name = c("a", "b", "c"), 
                 total = c(10, 20, 30), 
                 left = c(5, 10, 5), 
                 middle = c(4, 5, 15), 
                 right = c(1, 5, 10))

df <- gather(df, key, value, 3:5)

ggplot(df, aes(x = name, y = total, fill = key)) + geom_bar(stat = "identity")

我得到的不尊重部分值的分布......

1 个答案:

答案 0 :(得分:1)

在ggplot中将总数更改为值:

ggplot(df, aes(x = name, y = value, fill = key)) + geom_bar(stat = "identity")

而不是:

ggplot(df, aes(x = name, y = total, fill = key)) + geom_bar(stat = "identity")