Hi I forgot to change the format and put the panel back in - I was trying to get the data right
see ? strptime for a list of all the combinations for dates. Have a look at http://lmdvr.r-forge.r-project.org/figures/figures.html which may give you some ideas. If you want to restrict data to a certain period you will have to put limits on the x axis and you do that in the scales argument ie x =list(limits = c(min date, max date) ) NB date format For one panel it is easy but for 2+ it can be tricky as you will be working with a list. Then the code would be something like xyplot(Abun~Date2|Year, Raw, scales = list(x = list(limits = list(c(min y1, max y1), c(min y2, max y2))) .. ) where y[1...] is the applicable year have a look at aspect which may improve things for the final plot if desired. If you want to space groups of years-- see between Regards Duncan -----Original Message----- From: Christine Lee [mailto:leptostra...@yahoo.com] Sent: Wednesday, 19 August 2015 00:26 To: R; Duncan Mackay Subject: RE: [R] date format in xyplot Thank you Duncan, I have tried the scales function. It ends up with 2015-09-15, which is acceptable. It is far much better than "09 15" shown on the axis. The problem is the data were obtained in different years. This makes "2015" shown in lattice plots of different years. I have tried to put in the year in the raw data (such as "1/10/2013"), but the plot is really bizzard, with the 2002 plots have all the points on the left of the plot whereas 2013 plots have all the data points on the right of the plots because the x-axis shows data from 2001 to 2013. I feel like hopeless to insist to have the axis label shown as "Sep 15" because it seems to be the problem of my computer setting. Is there a way to shows graphs in different years, but with the same scale beginning from September to December? Regards, Christine -------------------------------------------- 2015年8月18日 星期二,Duncan Mackay <dulca...@bigpond.com> 寫道﹕ 主題: RE: [R] date format in xyplot 收件人: "R" <r-help@r-project.org> 副本(CC): "'Christine Lee'" <leptostra...@yahoo.com> 日期: 2015年8月18日,星期二,下午4:08 Hi Christine If somethings go wrong: 1 first check your data str(Raw) 'data.frame': 10 obs. of 5 variables: $ Date : Factor w/ 16 levels "1/10","1/11",..: 6 7 2 4 12 9 7 2 4 12 $ Year : int 2002 2002 2002 2002 2002 2002 2002 2002 2002 2002 $ Station: Factor w/ 4 levels "E","F","H","I": 1 1 1 1 1 2 2 2 2 2 $ Abun : num 3.42 1.33 3.67 3.67 3.92 2.17 2.5 1.67 6.33 0.67 $ Date1 : Date, format: "2015-09-19" "2015-10-02" "2015-11-01" "2015-11-12" ... Raw$Date2 <- as.character(Raw$Date1) Raw$Date2 [1] "2015-09-19" "2015-10-02" "2015-11-01" "2015-11-12" "2015-11-29" "2015-09-20" "2015-10-02" "2015-11-01" "2015-11-12" "2015-11-29" Raw$Date2 <- as.Date(Raw$Date2, "%Y-%m-%d") 2 read the help guide again if not done recently ?lattice::xyplot or ?xyplot 3 start with a minimum number of arguments xyplot(Abun~Date2|as.factor(Year), Raw) or xyplot(Abun~Date2, Raw) if you are still having problems Dates are hard work in any language as they are not consistent so: a. use default b. use your own This works xyplot(Abun~Date2|as.factor(Year), Raw, par.settings = list(stripbackground = "transparent"), # background colour controlled here type="p", scales = list(x = list(at = sort(c(seq(as.Date(Raw$Date2[1]-4), by = "months", length = 4), seq(as.Date(Raw$Date2[1]+12), by = "months", length = 3))), labels = format(sort(c(seq(as.Date(Raw$Date2[1]-4), by = "months", length = 4), seq(as.Date(Raw$Date2[1]+12), by = "months", length = 3))), "%m-%d") ) ), xlab=list("Month",cex=1.5), ylab=list("Abundance",cex=1.5), cex=2, pch=c(16,16,21), col=c("Black","Grey","Black") ) par.settings is confining the parameters set by trellis.par.set() to the function to get them names(trellis.par.get() ) and going further trellis.par.get()$superpose.symbol will give you the values for superpose.symbol Beware: Do not make the labels etc so big that the axis labels are hard to read. Think of final size Regards Duncan Duncan Mackay Department of Agronomy and Soil Science University of New England Armidale NSW 2351 Email: home: mac...@northnet.com.au -----Original Message----- From: R-help [mailto:r-help-boun...@r-project.org] On Behalf Of Christine Lee via R-help Sent: Tuesday, 18 August 2015 14:16 To: r-help@r-project.org Subject: [R] date format in xyplot To whom it may concern, I have tried to plot some numbers against time with the time on the X-axis shown as "Jan", "Feb", etc. I used the following commands: Raw<-structure(list(Date = structure(c(6L, 7L, 2L, 4L, 12L, 9L, 7L, 2L, 4L, 12L), .Label = c("1/10", "1/11", "11/11", "12/11", "13/10", "19/9", "2/10", "2/11", "20/9", "26/11", "29/10", "29/11", "30/11", "31/10", "4/10", "6/10"), class = "factor"), Year = c(2002L, 2002L, 2002L, 2002L, 2002L, 2002L, 2002L, 2002L, 2002L, 2002L ), Station = structure(c(1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L), .Label = c("E", "F", "H", "I"), class = "factor"), Abun = c(3.42, 1.33, 3.67, 3.67, 3.92, 2.17, 2.5, 1.67, 6.33, 0.67), Date1 = structure(c(16697, 16710, 16740, 16751, 16768, 16698, 16710, 16740, 16751, 16768 ), class = "Date")), .Names = c("Date", "Year", "Station", "Abun", "Date1"), row.names = c(NA, 10L), class = "data.frame") Raw$Date1<-as.Date(Raw$Date,"%d/%m") xyplot(Abun~Date1|as.factor(Year),Raw,type="p",xlab=list("Month",cex=1.5),yl ab=list("Abundance",cex=1.5),cex=2,pch=c(16,16,21),col=c("Black","Grey","Bla ck"),strip=strip.custom(bg='white'),format="%B-%d") The date format shown on X-axis was just "10-1", "10-15" I should be grateful if any one could help indicating what has gone wrong? Regards, Christine ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see 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. ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.