RE: Re: [R] Plotting Time against Date for time series data?

About this list Date view Thread view Subject view Author view Attachment view

From: Sander Oom (slist@oomvanlieshout.net)
Date: Tue 18 May 2004 - 02:29:33 EST


Message-id: <6.1.0.6.0.20040517175726.024333c0@localhost>

The plot is nearly there! Using the axis.POSIXct command I have got the
x-axis under control. However, the units for the y-axis (Time) are in
seconds by default (i.e. range is from 0 to 1440). I'm trying to plot hours
along the y-axis, without changing the units for the plot itself, but
without any luck.

The #'s were a quick solution to stop WinEdt reformatting my code
automatically, now I discovered I can switch to a different wrap mode.

This is the code just now:

>
> psDateTime <- function(DateTime, FileName){
+ strFileName <- paste("Analysis\\Graphics\\time_date_", FileName, sep
= "")
+ startMonth <- as.POSIXct(as.Date("01/09/2003", format="%d/%m/%Y"))
+ endMonth <- as.POSIXct(as.Date("01/06/2004", format="%d/%m/%Y"))
+ startTime <- as.POSIXct(as.Date("00:00:00", format="%H:%m:%s"))
+ endTime <- as.POSIXct(as.Date("23:59:59", format="%H:%m:%s"))
+ Date <- trunc(DateTime, "day")
+ Time <- DateTime - Date
+ postscript(strFileName)
+ plot(x=Date, y=Time,
+ xlab= "Date (month/year)", ylab= "Time (hours)", xaxt="n", #yaxt="n",
+ xlim=c(as.POSIXct(startMonth), as.POSIXct(endMonth)),
+ ylim=c(as.POSIXct(startTime), as.POSIXct(endTime))
+ )
+ axis.POSIXct(1, at=seq(startMonth, endMonth, by="month"), format="%m/%y")
+ axis.POSIXct(2, at=seq(startTime, endTime, by="hours"), format="%H")
+ pstamp(pwd=FALSE, time=TRUE)
+ dev.off()
+ }
> psDateTime(datKruger1$DaTim, "datKruger1.eps")
Error in plot.window(xlim, ylim, log, asp, ...) :
         need finite ylim values
>

and when removing the ylim line from the above code, an error associated
with the 'axis.POSICct(2....)' line:

> psDateTime(datKruger1$DaTim, "datKruger1.eps")
Error in if (to <= from) stop("`to' must be later than `from'") :
         missing value where TRUE/FALSE needed
>

Any help much appreciated,

Sander.

At 15:58 2004/05/17, you wrote:
>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@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

______________________________________________
R-help@stat.math.ethz.ch mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html


About this list Date view Thread view Subject view Author view Attachment view

This archive was generated by hypermail 2.1.3 : Mon 31 May 2004 - 23:05:11 EST