使用ggplot绘制月度数据

时间:2012-10-27 00:42:08

标签: r ggplot2

我试图使用ggplot绘制看起来像这样的月度数据

  count     date
      6 Oct 2010
     23 Nov 2010
     20 Dec 2010
     16 Jan 2011
     64 Oct 2011
     ...
    425 Jul 2012
    436 Aug 2012
    405 Sep 2012

其中date是来自zoo包的yearmon类。

这是我的电话:

ggplot(data, aes(x=date, y=count))+geom_line()

并出现此错误:错误:提供给连续刻度的离散值。

所以ggplot不支持yearmon类,这很好。

然后我尝试将yearmon转换为Date。现在数据看起来像这样:

 count       date
     6 2010-10-01
    23 2010-11-01
    20 2010-12-01
    16 2011-01-01
    64 2011-10-01
   ...
   425 2012-07-01
   436 2012-08-01
   405 2012-09-01

我拨打了同一个电话,这是 the resulting plot (对于href感到抱歉......新用户不允许发布图片)

在图的末尾有一个不应该存在的下降,因为数据$ count在最后几行中具有相似的值。

有没有人有这个好的解决方案?

感谢阅读,

比尔

1 个答案:

答案 0 :(得分:2)

我无法在情节右侧意外地删除线条时重新创建问题。这是我使用的代码和输出:

library(ggplot2)

dat = read.table(header=TRUE, colClasses=c("numeric", "Date"),
text=" count       date
     6 2010-10-01
    23 2010-11-01
    20 2010-12-01
    16 2011-01-01
    64 2011-10-01
   425 2012-07-01
   436 2012-08-01
   405 2012-09-01")

plot_1 = ggplot(dat, aes(x=date, y=count)) + geom_line()
ggsave("plot_1.png", plot_1, height=4.5, width=4.5)

enter image description here

您可以考虑在转换日期之前和之后发布数据(使用dput()),以帮助人们重现您的问题。