[R] date axes and formats in levelplot

Toby.Patterson@csiro.au Toby.Patterson at csiro.au
Tue Aug 10 08:34:42 CEST 2004

Hi all (and particularly Deepayan), 

A while back Deepayan helped me with the query in the text below (thanks
again). Specifically it was about changing the way that dates plotted on
the axes of lattice plots. 

While this works using xyplot, everything comes apart when I use
levelplot. The axis labels on the date axis are shown as the integer
representation of the date (number of seconds since the origin I
assume). I guess that the POSIX dates are getting coerced into numeric
objects somewhere along the way and that there is no easy fix for this. 

I would be really grateful if there is a work around that would allow me
to plot recognizable dates. Any suggestions?


-----Original Message-----
From: Deepayan Sarkar [mailto:deepayan at stat.wisc.edu] 
Sent: Monday, July 05, 2004 12:16 PM
To: r-help at stat.math.ethz.ch
Cc: Patterson, Toby (Marine, Hobart)
Subject: Re: [R] date Axes and formats in lattice plots

On Sunday 04 July 2004 21:02, Toby.Patterson at csiro.au wrote:
> All,
> I have some data of animal movements that I'm plotting using xyplot()
> from lattice. I want to have the date (class POSIXct object) on the
> Y-axis and the animals longitude on X-axis. Eg.
> xyplot(date ~ longitude, groups = animal, data = my.data)
> with data like:
>      animal   ptt year month day    lon                date
> 125 03P0014 13273 2003     7  10 150.38 2003-07-10 14:03:48
> 126 03P0192 20890 2003     7  10 151.13 2003-07-10 14:00:47
> 127 03P0197 30466 2003     7  10 150.74 2003-07-10 14:02:21
> ...etc
> It all works fine except for the format of the dates that gets
> displayed.
> I am not sure what I need to change within the lattice frame work to
> get a specific date format (eg. "%Y-%-m-%d"). Does anyone have any
> tips or, even better, some example code that they could pass on?

For R 1.9.0 and above, you should be able to do this with 

xyplot(date ~ longitude, groups = animal, data = my.data,
       scales = list(y = list(format = "%Y-%-m-%d")))


More information about the R-help mailing list