5

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

  计数日期
      2010 年 10 月 6 日
     2010 年 11 月 23 日
     2010 年 12 月 20 日
     2011 年 1 月 16 日
     2011 年 10 月 64 日
     ...
    425 2012 年 7 月
    436 2012 年 8 月
    2012 年 9 月 405 日

其中 date 是 zoo 包中的 yearmon 类。

这是我的电话:

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

并且出现了这个错误:错误:提供给连续刻度的离散值。

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

然后我尝试将 yearmon 转换为 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 在最后几行具有相似的值。

有没有人对此有很好的解决方案?

谢谢阅读,

账单

4

1 回答 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)

在此处输入图像描述

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

于 2012-10-27T01:24:07.760 回答