如何调整ggplot直方图的时标轴

Dav*_*ave 11 plot r ggplot2

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

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

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

Jyo*_*rya 21

  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)
Run Code Online (Sandbox Code Playgroud)

  • %d给出前导零,而%e给出单个数字天的前导空格.不确定哪一个看起来更好. (2认同)