12

我正在使用一个数据框,其中一列由POSIXct日期时间值组成。我正在尝试绘制这些时间戳的直方图,ggplot2但我遇到了两个问题:

  1. 我不知道如何在geom_histogram(). 我想将每个垃圾箱设置为一天或一周。我尝试提供一个 difftime 对象,但出现错误。我也试过binwidth=1,但 R 只是挂起。

  2. 如何设置限制scale_x_time()?我可以让它工作的唯一方法是POSIXct使用as.Date().

4

1 回答 1

23
  1. binwidth 以秒为单位,因此设置为 bin per week set binwidth=7*24*60*60
  2. 限制可以作为 2 个 POSIXct 对象的向量给出。

一个例子:

y<-as.POSIXct('1970/01/01')+cumsum(rnorm(100,mean=24*60*60,sd=24*60*60))
p<-qplot(y,binwidth=7*24*60*60,fill=I('steelblue'),col=I('black'))
p<-p+scale_x_datetime(major="1 week",
                      minor="1 days",
                      format="%e/%m/%Y",
                      limits=c(as.POSIXct('1970/02/01'),
                               as.POSIXct('1970/03/31')))
print(p)
于 2010-03-09T14:40:28.873 回答