Hi all,
Thanks for your answers, it worked, but still can't get the time scale on the x-axis, probably has to do with the unit in the viewport or something like that. But following your recommendation I've prepared some dummy data to go with the scripts. As before we have two graphs, one that has the error I got, and another that has the graph I want to get, but without the time scale as needed.
Cheers,
Fran
Example:

#create the dummy data
digrate <- data.frame(Perc=runif(30), Drate=rep(letters[1:3], 10),
                  date=c(rep("26-06-2010",9),rep("27-06-2010",21)),

hour=rep(c("18:00","20:00","23:00","03:00","05:30","08:00","10:00","14:40","17:30","19:30"),each=3))
digrate$hora<-paste(digrate$date,digrate$hour)
digrate
library(lattice)
# xyplot with panel.barchart, but does not take the groups as in example 2
xyplot(Perc~as.POSIXct(hora,format="%d-%m-%Y 
%H:%M",origin=strptime(digrate$hora,"%d-%m-%Y %H:%M")),
       data=digrate, groups=digrate$Drate, ## key=leg,
       xlab="time of the day",
       
scales=list(alternating=FALSE,tck=c(1,0),x=list(at=seq(r[1],r[2],by="hour"),
         labels=format(seq(r[1],r[2],"hours"), format="%H:%M"))),
       panel=function(x,y,groups,...) {
         panel.fill(col="white")
         panel.barchart(x, y, groups=groups, horizontal=FALSE,
                        box.ratio=5000, stack=FALSE, ...)
       },
       main="xyplot"
       )

# barchart example does not get the time scale
# get the time range for the x-axes in graph 2
r<-range(strptime(digrate$hora,"%d-%m-%Y %H:%M"))
barchart(Perc~as.POSIXct(hora,format="%d-%m-%Y 
%H:%M"),digrate,groups=Drate,horizontal=F,
  
scales=list(alternating=F,tck=c(1,0),x=list(at=1:10,labels=format(seq(r[1],r[2],"hours"),
    format="%H:%M"))),
            panel=function(x,y,...) {panel.fill(col="white")
                panel.grid(-1,0,lty=3,col="black")
                panel.barchart(x,y,col=c("white","grey","black"),...)}
            )


On 05/02/2010 1:56, RICHARD M. HEIBERGER wrote:
Fran,

Please send to the list some properly structured dummy data.
dput(digrate.dummy) would be easiest for me.

Rich



______________________________________________
R-help@r-project.org mailing list
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.

Reply via email to