scale_datescale_x_date(name=NULL, limits=NULL, major=NULL, minor=NULL, format=NULL, ...)
scale_y_date(name=NULL, limits=NULL, major=NULL, minor=NULL, format=NULL, ...)
Position scale, date
This page describes scale_date, see layer and qplot for how to create a complete plot from individual components.
What do you think of the documentation? Please let me know by filling out this short online survey.
Parameters control the appearance of the scale. In addition to the parameters listed below (if any), any aesthetic can be used as a parameter, in which case it will override any aesthetic mapping.
name: name of scale to appear in legend or on axis. Maybe be an expression: see ?plotmathlimits: numeric vector of length 2, giving the extent of the scalemajor: NULLminor: NULLformat: NULLThis function returns a scale object.
> # We'll start by creating some nonsense data with dates > df <- data.frame( + date = seq(Sys.Date(), len=100, by="1 day")[sample(100, 50)], + price = runif(50) + ) > df <- df[order(df$date), ] > dt <- qplot(date, price, data=df, geom="line") + opts(aspect.ratio = 1/4) > > # We can control the format of the labels, and the frequency of > # the major and minor tickmarks. See ?format.Date and ?seq.Date > # for more details. > dt + scale_x_date()> dt + scale_x_date(format="%m/%d")
> dt + scale_x_date(format="%W")
> dt + scale_x_date(major="months", minor="weeks", format="%b")
> dt + scale_x_date(major="months", minor="3 days", format="%b")
> dt + scale_x_date(major="years", format="%b-%Y")
> > # The date scale will attempt to pick sensible defaults for > # major and minor tick marks > qplot(date, price, data=df[1:10,], geom="line")
> qplot(date, price, data=df[1:4,], geom="line")
> > df <- data.frame( + date = seq(Sys.Date(), len=1000, by="1 day"), + price = runif(500) + ) > qplot(date, price, data=df, geom="line")
> > # A real example using economic time series data > qplot(date, psavert, data=economics)
> qplot(date, psavert, data=economics, geom="path")
> > end <- max(economics$date) > last_plot() + scale_x_date(lim = c(as.Date("2000-1-1"), end))
> last_plot() + scale_x_date(lim = c(as.Date("2005-1-1"), end))
> last_plot() + scale_x_date(lim = c(as.Date("2006-1-1"), end))
> > # If we want to display multiple series, one for each variable > # it's easiest to first change the data from a "wide" to a "long" > # format: > em <- melt(economics, id = "date") > > # Then we can group and facet by the new "variable" variable > qplot(date, value, data = em, geom = "line", group = variable)
> qplot(date, value, data = em, geom = "line", group = variable) + + facet_grid(variable ~ ., scale = "free_y")
![]()
What do you think of the documentation? Please let me know by filling out this short online survey.