使用geom_bar()来堆叠加起来的值?

时间:2013-11-12 01:42:56

标签: r ggplot2 bar-chart

我在R中有一个数据框,如下所示:

        Month numFlights numDelays  onTime
1  2000-01-01    7520584   1299743 6220841
2  2000-02-01    6949127   1223397 5725730
3  2000-03-01    7808080   1390796 6417284
4  2000-04-01    7534239   1178425 6355814
5  2000-05-01    7720013   1236135 6483878
6  2000-06-01    7727349   1615408 6111941
7  2000-07-01    8000680   1652590 6348090
8  2000-08-01    7990440   1481498 6508942
9  2000-09-01    6811541    875381 5936160
10 2000-10-01    7026150   1046749 5979401
11 2000-11-01    6689783    987175 5702608
12 2000-12-01    6895454   1535196 5360258

我要做的是创建一个条形图,每个月(在x轴上),条形码达到延迟航班的数量+准时的航班数量。我尝试使用示例

找出如何做到这一点
qplot(factor(cyl), data=mtcars, geom="bar", fill=factor(gear))

但我的数据格式与mtcars的格式不同。而且我不能只使用alpha值,因为我想最终添加已取消的航班。

我知道有些问题与这个问题非常相似,但对我来说不够相似(this question几乎相同,但我还不知道如何操纵facet_grid。)想法?

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以这样做:

library(reshape2)
dat.m <- melt(dat,id.vars='Month',measure.vars=c('numDelays','onTime'))

library(ggplot2)
library(scales)

ggplot(dat.m) +
    geom_bar(aes(Month,value,fill=variable))+
    scale_y_continuous(labels = comma) +
    coord_flip() + 
    theme_bw()

enter image description here