Plotting times at night and getting plot limits correct
Dear Bob,
Is this useful?
library(lubridate)
library(ggplot2)
n <- 100
h <- sample(c(18:23, 0:9), size = n, replace = TRUE)
m <- sample(0:59, size = n, replace = TRUE)
d <- sample(1:3, size = n, replace = TRUE)
dataset <- data.frame(
Time = as.POSIXct(paste0("2015-01-", d, " ", h, ":", m, ":0")),
Thing = rnorm(n)
)
dataset$rTime <- round_date(dataset$Time, unit = "day")
dataset$Time2 <- dataset$Time - dataset$rTime + min(dataset$rTime)
ggplot(dataset, aes(x = Time2, y = Thing, colour = factor(rTime))) +
geom_point()
Best regards,
ir. Thierry Onkelinx
Instituut voor natuur- en bosonderzoek / Research Institute for Nature and
Forest
team Biometrie & Kwaliteitszorg / team Biometrics & Quality Assurance
Kliniekstraat 25
1070 Anderlecht
Belgium
To call in the statistician after the experiment is done may be no more
than asking him to perform a post-mortem examination: he may be able to say
what the experiment died of. ~ Sir Ronald Aylmer Fisher
The plural of anecdote is not data. ~ Roger Brinner
The combination of some data and an aching desire for an answer does not
ensure that a reasonable answer can be extracted from a given body of data.
~ John Tukey
2015-05-12 16:34 GMT+02:00 Bob O'Hara <rni.boh at gmail.com>:
I'm helping colleagues with analysis of frog calls at night, and they
want to plot call statistics against time. This means we hit a
problem: we want the x-axis to start at (say) 18:00 and end at (say)
06:00. I'm reluctant to use the date as well, because we have data
from several dates, but only want to plot against time of day.
Here's some code to illustrate the problem (don't worry about the data
being outside the range of the plot: this is only for illustration).
library(chron)
Times <- chron(times.=paste(c(18:23,0:9),":30:00", sep=""))
Thing <- rnorm(length(Times)) # just something for the y-axis
plot(Times,Thing) # x-axis wrong
plot(Times,Thing, xlim=chron(times.=c("05:00:00", "18:00:00"))) # x-axis
right
plot(Times,Thing, xlim=chron(times.=c("18:00:00", "05:00:00"))) #
would like this to work...
Can anyone suggest a solution?
Bob
--
Bob O'Hara
Biodiversity and Climate Research Centre
Senckenberganlage 25
D-60325 Frankfurt am Main,
Germany
Tel: +49 69 798 40226
Mobile: +49 1515 888 5440
WWW: http://www.bik-f.de/root/index.php?page_id=219
Blog: http://occamstypewriter.org/boboh/
Journal of Negative Results - EEB: www.jnr-eeb.org
______________________________________________ R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.