R 如何调整ggplot直方图的时间刻度轴
我正在使用一个数据帧,其中一列由R 如何调整ggplot直方图的时间刻度轴,r,plot,ggplot2,R,Plot,Ggplot2,我正在使用一个数据帧,其中一列由POSIXctdate-time值组成。我试图使用ggplot2绘制这些时间戳的柱状图,但有两个问题: 我不知道如何在geom\u histogram()中设置binwidth。我想把每个垃圾箱设置为一天或一周。我尝试提供difftime对象,但出现了一个错误。我还尝试了binwidth=1,但R只是挂起 如何在缩放x_时间()中设置限制?我能让它工作的唯一方法是使用as.Date()转换我的POSIXct时间戳 binwidth是以秒为单位测量的,因此每周设置为
POSIXct
date-time值组成。我试图使用ggplot2
绘制这些时间戳的柱状图,但有两个问题:
geom\u histogram()
中设置binwidth。我想把每个垃圾箱设置为一天或一周。我尝试提供difftime对象,但出现了一个错误。我还尝试了binwidth=1
,但R只是挂起缩放x_时间()
中设置限制?我能让它工作的唯一方法是使用as.Date()
转换我的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)
y%d给出一个前导零,而%e给出一个单位天数的前导空格。不确定哪一个看起来更好。谢谢!我的比例问题是因为我使用的是scale_x_time()而不是scale_x_datetime()。谢谢-在我的例子中,当数据类型为POSIXct时,我没有意识到binwidth是以秒为单位的。因此,当我设置binwidth=1时,绘图永远不会结束,因为它太细粒度了。另请参见