题
我正在使用一个数据框,其中一列包含 POSIXct
日期时间值。我正在尝试使用绘制这些时间戳的直方图 ggplot2
但我有两个问题:
我不知道如何设置 binwidth
geom_histogram()
. 。我想将每个垃圾箱设置为一天或一周。我尝试提供 difftime 对象,但出现错误。我也尝试过binwidth=1
但 R 只是挂起。我如何设置限制
scale_x_time()
?我能让它工作的唯一方法就是转换我的POSIXct
时间戳使用as.Date()
.
解决方案
- binwidth 以秒为单位测量,因此每周设置 bin
binwidth=7*24*60*60
. - 限制可以作为 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)
不隶属于 StackOverflow