scale_date {ggplot2}R Documentation

scale\_date

Description

Position scale, date

Usage

scale_x_date(name = NULL, limits = NULL, major = NULL, minor = NULL, 
    format = NULL, expand = c(0.05, 0), ...)

Arguments

name

name of scale to appear in legend or on axis. Maybe be an expression: see ?plotmath

limits

numeric vector of length 2, giving the extent of the scale

major

NULL

minor

NULL

format

NULL

expand

numeric vector of length 2, giving multiplicative and additive expansion factors

...

ignored

Details

This page describes scale\_date, see layer and qplot for how to create a complete plot from individual components.

Value

A layer

Author(s)

Hadley Wickham, http://had.co.nz/

See Also

Examples

## Not run: 
# 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="
dt + scale_x_date(format="
dt + scale_x_date(major="months", minor="weeks", format="
dt + scale_x_date(major="months", minor="3 days", format="
dt + scale_x_date(major="years", format="

# 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")


## End(Not run)

[Package ggplot2 version 0.8.9 Index]