Dear all, I have a data set containing GPS fixes of animal locations. To check that the GPS's are working properly, I would like to plot the time of the fixes (y-axis) against the date of the fixes (x-axis). If all works well, the plot should show four regular fixes per day. The x-axis should be labelled with month/year (i.e. 11/04) and the y-axis by hour from 00 to 24. I would like to control the x-axis limits. I have looked at several date and time related help pages, but get horribly lost in all the terminology. The main challenge is to isolate date and time from the date/time object for plotting (marked ???). Therefore, I would like the following example code to work: > > dates <- c("02/27/92", "02/27/92", "01/14/92", "01/14/92", "03/28/92", "03/28/92") # times <- c("23:03:20", "10:29:56", "01:03:30", "13:03:30", "18:21:03", "06:56:26") # x <- paste(dates, times) # DateTime <- strptime(x, "%m/%d/%y %H:%M:%S") # Date <- DateTime ??? # Time <- DateTime ??? # plot(x=Date, y=Time, xlab= "Date (month/year)", ylab= "Time (hours)", xaxt="n", yaxt="n", xlim=c(as.Date("01/01/92", format="%m/%d/%y"), as.Date("04/01/92", format="%m/%d/%y")), ylim=c(0, 24) ) # r <- as.POSIXct(round(range(Date), "days")) # axis.POSIXct(1, at=seq(r[1], r[2], by="month"), format="%m/%y") # r <- as.POSIXct(round(range(Time), "hours")) # axis.POSIXct(2, at=seq(r[1], r[2], by="hour"), format="%H") # > > Thanks for any suggestions, Sander Oom. -------------------------------------------------------------- Dr. Sander P. Oom Animal, Plant and Environmental Sciences University of the Witwatersrand Private Bag 3 Wits 2050 South Africa Tel (work) +27 (0)11 717 64 04 Tel (home) +27 (0)18 297 44 51 Fax +27 (0)18 299 24 64 Email sander at oomvanlieshout.net Web www.oomvanlieshout.net/sander
Prof Brian Ripley
2004-May-17 13:58 UTC
[R] Plotting Time against Date for time series data?
On Mon, 17 May 2004, Slist wrote:> I have a data set containing GPS fixes of animal locations. To check that > the GPS's are working properly, I would like to plot the time of the fixes > (y-axis) against the date of the fixes (x-axis). If all works well, the > plot should show four regular fixes per day. The x-axis should be labelled > with month/year (i.e. 11/04) and the y-axis by hour from 00 to 24. I would > like to control the x-axis limits. > > I have looked at several date and time related help pages, but get horribly > lost in all the terminology. The main challenge is to isolate date and time > from the date/time object for plotting (marked ???). Therefore, I would > like the following example code to work: > > > > > > dates <- c("02/27/92", "02/27/92", "01/14/92", "01/14/92", "03/28/92", "03/28/92") # > times <- c("23:03:20", "10:29:56", "01:03:30", "13:03:30", "18:21:03", "06:56:26") # > x <- paste(dates, times) # > DateTime <- strptime(x, "%m/%d/%y %H:%M:%S") #Why do you end lines with #? It is rather confusing. Date <- trunc(DateTime, "day") Time <- DateTime - Date plot(Date, Time) appears to do what you want (except the x axis labelling, which you can alter by a call to axis.POSIXct and x-axis limits, which need to be set via xlim as a POSIXct object.). -- Brian D. Ripley, ripley at stats.ox.ac.uk Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UK Fax: +44 1865 272595