[R] Dateticks

Gabor Grothendieck ggrothendieck at gmail.com
Wed Jun 15 00:02:55 CEST 2005


On 6/14/05, Bernard L. Dillard <bld at math.umd.edu> wrote:
> Hello.  I am having the worst time converting x-axis date ticks to real
> dates.  I have tried several suggestions in online help tips and books to
> no avail.
> 
> For example, the x-axis has 0, 50, 100, etc, and I want it to have
> "6/17/03", "8/6/03" etc.  See attached (sample).
> 
> Can anybody help me with this.
> 
> Here's my code:
> 
> ts.plot(date.attackmode.table[,1], type="l", col="blue", lty=2,ylab="IED
>     Attacks", lwd=2,xlab="Attack Dates",main="Daily Summary of Attack
>     Mode")
> grid()
> 


The default format for dates in chron is the one needed here
so let us use that.  (We could alternately use Date class 
in defining tt and specify a format string as a second argument 
to format in the last line.)

library(chron)

# test data.  values are in y and times are in tt.
y <- rnorm(201)
tt <- chron("8/6/03") + seq(0, length = length(y))

# plot without axis
plot(tt, y, xaxt = "n")

# axis with ticks and labels every 50 days
idx50 <- seq(1, length(tt), 50)
axis(1, tt[idx50], format(tt[idx50]), cex.axis = 0.5)

or, to use Date class replace with this:

tt <- as.Date("2003-08-06") + seq(0, length = length(y))
plot(tt, y, xaxt = "n")
idx50 <- seq(1, length(tt), 50)
axis(1, tt[idx50], format(tt[idx50], "%m/%d/%y), cex.axis = 0.5)


More info on working with dates is in R News 4/1.




More information about the R-help mailing list