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

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

  2. 我如何设置限制 scale_x_time()?我能让它工作的唯一方法就是转换我的 POSIXct 时间戳使用 as.Date().

有帮助吗?

解决方案

  1. binwidth 以秒为单位测量,因此每周设置 bin 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)
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top