How to adjust time scale axis for ggplot histogram
I am working with a data frame where one of the columns consists of POSIXct
date-time values. I am trying to plot a histogram of these timestamps using ggplot2
but I'm having two issues:
I don't know how to set the binwidth in
geom_histogram()
. I'd like to set each bin to a day or a week. I've tried providing a difftime obje开发者_StackOverflowct, but I get an error. I also triedbinwidth=1
but R just hangs.How do I set the limits in
scale_x_time()
? The only way I could get it to work was by converting myPOSIXct
timestamps usingas.Date()
.
- The binwidth is measured in seconds, so to bin per week set
binwidth=7*24*60*60
. - Limits can be given as a vector of 2 POSIXct objects.
An example:
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)
精彩评论