ggplot geom_area失败了

时间:2013-07-31 01:27:02

标签: r ggplot2

使用下面的数据和下面的代码行,我试图生成一个堆积区域图,显示项目在数据中指定的季度的计划支出。在Y轴上的Capex,在X轴上的四分之一。我在这里和其他地方看过很多例子,我只是无法理解它为什么会失败。我想发布结果的截图 - 但是无法看到这样做的方法。基本上,它有图例,轴看起来正确。但是图表的主要区域只是一个灰色网格,空白。

代码:

ggplot(short, aes(x=Quarter,y=Capex, fill=ProjectName, )) + geom_area(position = "stack") + ylim (1, 100000)

数据:

ProjectName Quarter Capex
a   F01 Jul 41709
a   F02 Aug 41696
a   F03 Sep 41667
a   F04 Oct 41712
a   F05 Nov 41676
a   F06 Dec 41674
a   F07 Jan 41694
a   F08 Feb 41693
a   F09 Mar 41698
a   F10 Apr 41710
a   F11 May 41694
a   F12 Jun 41671
b   F01 Jul 265197
b   F02 Aug 265200
b   F03 Sep 265187
b   F04 Oct 265190
b   F05 Nov 265179
b   F06 Dec 265170
b   F07 Jan 265167
b   F08 Feb 265174
b   F09 Mar 265187
b   F10 Apr 265169
b   F11 May 265186
b   F12 Jun 265208
c   F01 Jul 233335
c   F02 Aug 233352
c   F03 Sep 233344
c   F04 Oct 233344
c   F05 Nov 233344
c   F06 Dec 233350
c   F07 Jan 32
c   F08 Feb 31
c   F09 Mar 23
c   F10 Apr 5046
c   F11 May 5005
c   F12 Jun 50
d   F01 Jul 40
d   F02 Aug 43
d   F03 Sep 30
d   F04 Oct 5038
d   F05 Nov 45
d   F06 Dec 8
d   F07 Jan 45
d   F08 Feb 20034
d   F09 Mar 40
d   F10 Apr 40
d   F11 May 2
d   F12 Jun 500045
e   F01 Jul 300011

1 个答案:

答案 0 :(得分:1)

我很确定你想要一个堆积条形图,而不是面积图?这就是你要追求的吗?

ggplot(short, aes(x=Quarter,y=Capex, fill=ProjectName, )) + 
  geom_bar(stat = "identity")

enter image description here

我不确定为什么你有这些y轴限制,他们切断了你的数据,但这应该用scale_y_continuous(limits = c(min, max))完成。

作为一个注释,在共享数据时最好使用dput(data)的输出,因为它会带来数据的结构。看看How to make a great R reproducible example?