使用ggplot绘制月度数据图表

5
我想使用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()

出现了这个错误:Error: Discrete value supplied to continuous scale。

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

我进行了相同的调用,结果是生成的图形(对于href我感到抱歉...新用户无法发布图像)

图形的末尾有一个下降,这不应该存在,因为data$count在最后几行有相似的值。

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

感谢阅读,

比尔

1个回答

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() 函数在日期转换之前和之后发布数据,以帮助其他人复现您的问题。


感谢您的关注。问题确实出在 SQL 数据库上的数据上。我没有注意到一些记录被删除了,导致十月份的更新被插入到了中间。这是新手的错误。感谢您的时间。 - Centzon Totochtin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接