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