我正在使用数据框,其中一列包含POSIXct
日期时间值。我试图使用ggplot2
绘制这些时间戳的直方图,但我有两个问题:
我不知道如何在geom_histogram()
中设置binwidth。我想将每个垃圾箱设置为一天或一周。我试过提供difftime对象,但是我收到了一个错误。我也试过binwidth=1
但是R只是挂起。
如何在scale_x_time()
中设置限制?我能够让它发挥作用的唯一方法是使用POSIXct
转换as.Date()
个时间戳。
答案 0 :(得分:21)
binwidth=7*24*60*60
。一个例子:
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)