使用ggplot的堆积面积图给出了锯齿线而不是实心多边形

时间:2018-06-14 09:29:56

标签: r ggplot2

我正在尝试使用ggplot生成堆积区域图。这是一些代码;

DATA <- data.frame("Band" = rep(c(1:10), each = 10), "Object" = rep(c("Tree", 
"Car", "Table", "Moon", "Tiger")), "Number" = runif(100, 1, 100), "Colour" = 
rep(c("Green", "Not Green"), each = 5))

ggplot(DATA, aes(x = Band, y = Number)) +
geom_area(aes(colour = Colour, fill = Colour), position = 'fill')

我最终得到了一个奇怪的“锯齿”图案,而不是两个实心多边形。 Band是整数还是数字并不重要。如果我将Band视为一个因素,那么我可以获得叠加的行,但它们之间存在较大的间隙。

这里有一些类似的问题; Making a stacked area plot using ggplot2stacked area graph in ggplot2 returned as stacked lines,但建议的答案似乎无法解决我的问题。我想我犯了一个愚蠢的错误,但我无法弄明白它是什么。任何建议都非常感谢。谢谢!

1 个答案:

答案 0 :(得分:0)

我犯了一个愚蠢的错误。 Numbers需要汇总到Colour内的总计数,而不是每个Object的单独值。

library(dplyr)
DATA <- DATA %>% group_by(Colour, Band) %>% summarise_at(.vars = "Number", funs(sum))

然后上面的ggplot代码运行正常。