s.e.roberts at qmul.ac.uk
2006-Apr-17 16:33 UTC
[R] Problem using plot and converted dates
Dear R-help, I am having problems with plotting converted dates in chronological as Mar-03, May-03...Jul-04. My script is: sam4<-c("03/03/01","03/05/01","03/07/01","03/09/01","03/11/01","04/01/01","04/03/01","04/05/01","04/07/01") sam5<-strptime(sam4,format="%y/%m/%d") f<-data.frame(sam5,mkf) plot(f,type="l") # This works ok, but none of the labels appear on the x-axis, so I thought I would convert them using # as.POSIXct: sam6<-format(as.POSIXct(sam5), "%b-%y") mon<-factor(as.character(sam6),levels=sam6) f2<-data.frame(mon,mkf) plot(f2,type="l") The problem is that plot(f2,type="l") no longer produces a line plot... Any help with this would be gratefully appreciated. Best wishes, Sion -- Si?n Roberts Department of Geography, Queen Mary, University of London, London, E1 4NS. Tel: +44 20 7882 5400 http://www.geog.qmul.ac.uk/postgraduate/student/roberts.html
Try: y <- 1:length(sam4) # test data dd <- as.Date(sam4, "%m/%d/%y") plot(dd, y) # also try this library(zoo) z <- zoo(y, dd) plot(z) Also read, from earlier today: https://www.stat.math.ethz.ch/pipermail/r-help/2006-April/092471.html On 4/17/06, s.e.roberts at qmul.ac.uk <s.e.roberts at qmul.ac.uk> wrote:> Dear R-help, > I am having problems with plotting converted dates in chronological as Mar-03, > May-03...Jul-04. > My script is: > > sam4<-c("03/03/01","03/05/01","03/07/01","03/09/01","03/11/01","04/01/01","04/03/01","04/05/01","04/07/01") > sam5<-strptime(sam4,format="%y/%m/%d") > f<-data.frame(sam5,mkf) > plot(f,type="l") > # This works ok, but none of the labels appear on the x-axis, so I thought I > would convert them using > # as.POSIXct: > > sam6<-format(as.POSIXct(sam5), "%b-%y") > mon<-factor(as.character(sam6),levels=sam6) > f2<-data.frame(mon,mkf) > plot(f2,type="l") > > The problem is that plot(f2,type="l") no longer produces a line plot... > > Any help with this would be gratefully appreciated. > > Best wishes, > Sion > > > -- > Si?n Roberts > > Department of Geography, > Queen Mary, University of London, > London, > E1 4NS. > > Tel: +44 20 7882 5400 > http://www.geog.qmul.ac.uk/postgraduate/student/roberts.html > > ______________________________________________ > R-help at stat.math.ethz.ch mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html >
On Mon, 17 Apr 2006, s.e.roberts at qmul.ac.uk wrote: Please do follow the posting guide and at least tell us your version of R and give a working example (mkf is missing)> Dear R-help, > I am having problems with plotting converted dates in chronological as Mar-03, > May-03...Jul-04. > My script is: > > sam4<-c("03/03/01","03/05/01","03/07/01","03/09/01","03/11/01","04/01/01","04/03/01","04/05/01","04/07/01") > sam5<-strptime(sam4,format="%y/%m/%d")I would suggest you use as.Date here, for you have dates, not date-times.> f<-data.frame(sam5,mkf) > plot(f,type="l") > # This works ok, but none of the labels appear on the x-axis,It works for me: it is not intended to plot your labels (and plot.default does not do that either). If you want add a special axis, use axis.Date to do so.> so I thought I > would convert them using > # as.POSIXct:You have converted them to a factor, which is not what you want.> sam6<-format(as.POSIXct(sam5), "%b-%y") > mon<-factor(as.character(sam6),levels=sam6) > f2<-data.frame(mon,mkf) > plot(f2,type="l") > > The problem is that plot(f2,type="l") no longer produces a line plot...Why don't you use plot(sam5, mkf, type="l")? That works, and in fact your example works in R 2.3.0RC, but creating a data frame you don't need is counter-productive. -- Brian D. Ripley, ripley at 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