ggplot2.zoo

0th

Percentile

Convenience Functions for Plotting zoo Objects with ggplot2

fortify.zoo takes a zoo object and converts it into a data frame (intended for ggplot2). autoplot.zoo takes a zoo object and returns a ggplot2 object. It essentially uses the mapping aes(x = Time, y = Value, group = Series) and adds colour = Series, linetype = Series, shape = Series in the case of a multivariate series with facets = NULL.

Usage
## S3 method for class 'zoo':
autoplot(object, geom = "line", facets, \dots)
  ## S3 method for class 'zoo':
fortify(model, data, melt = FALSE, \dots)
  facet_free(facets = Series ~ ., margins = FALSE, scales = "free_y", ...)

yearmon_trans(format = "%b %Y", n = 5) scale_x_yearmon(..., format = "%b %Y", n = 5) scale_y_yearmon(..., format = "%b %Y", n = 5)

yearqtr_trans(format = "%Y-%q", n = 5) scale_x_yearqtr(..., format = "%Y-%q", n = 5) scale_y_yearqtr(..., format = "%Y-%q", n = 5)

Arguments
object
an object of class "zoo".
geom
character specifying which geom to use in qplot.
facets
specification of facets for qplot. The default in the autoplot method is to use facets = NULL for univariate series and facets = Series ~ . f
...
further arguments passed to qplot for autoplot (and not used for fortify).
model
an object of class "zoo" to be converted to a "data.frame".
data
not used (required by generic fortify method).
melt
Should the resulting data frame be in long format (melt = TRUE) or wide format (melt = FALSE).
margins
As in facet_grid.
scales
As in facet_grid except it defaults to "free_y".
format
A format acceptable to format.yearmon or format.yearqtr.
n
Approximate number of axis ticks.
Details

Convenience interface for visualizing zoo objects with ggplot2. autoplot.zoo uses fortify.zoo (with melt = TRUE) to convert the zoo object into a data frame and then uses a suitable aes() mapping to visiualize the series.

Value

  • fortify.zoo returns a data.frame either in long format (melt = TRUE) or in wide format (melt = FALSE). The long format has three columns: the time Index, a factor indicating the Series, and the corresponding Value. The wide format simply has the time Index plus all columns of coredata(model). autoplot.zoo returns a ggplot object.

See Also

autoplot, fortify, qplot

Aliases
  • autoplot.zoo
  • fortify.zoo
  • ggplot2.zoo
  • facet_free
  • yearmon_trans
  • yearqtr_trans
  • scale_x_yearmon
  • scale_y_yearmon
  • scale_x_yearqtr
  • scale_y_yearqtr
Examples
if(require("ggplot2") && require("scales")) {
## example data
x.Date <- as.Date(paste(2003, 02, c(1, 3, 7, 9, 14), sep = "-"))
x <- zoo(rnorm(5), x.Date)
xlow <- x - runif(5)
xhigh <- x + runif(5)
z <- cbind(x, xlow, xhigh)

## univariate plotting
autoplot(x)
## by hand
ggplot(aes(x = Index, y = Value), data = fortify(x, melt = TRUE)) +
  geom_line() + xlab("Index") + ylab("x")
## adding series one at a time
last_plot() + geom_line(aes(x = Index, y = xlow), colour = "red", data = fortify(xlow))
## add ribbon for high/low band
ggplot(aes(x = Index, y = x, ymin = xlow, ymax = xhigh), data = fortify(x)) +
  geom_ribbon(fill = "darkgray") + geom_line()

## multivariate plotting in multiple or single panels
autoplot(z)                      ## multiple without color/linetype
autoplot(z, facets = Series ~ .) ## multiple with series-dependent color/linetype
autoplot(z, facets = NULL)       ## single with series-dependent color/linetype
## by hand with color/linetype and with/without facets
qplot(x = Index, y = Value, group = Series, colour = Series,
  linetype = Series, facets = Series ~ ., data = fortify(z, melt = TRUE)) +
  geom_line() + xlab("Index") + ylab("")
ggplot(aes(x = Index, y = Value, group = Series, colour = Series, linetype = Series),
  data = fortify(z, melt = TRUE)) + geom_line() + xlab("Index") + ylab("")
## variations
autoplot(z, geom = "point")
autoplot(z, facets = NULL) + geom_point()
autoplot(z, facets = NULL) + scale_colour_grey() + theme_bw()

## for "ts" series via coercion
autoplot(as.zoo(EuStockMarkets))
autoplot(as.zoo(EuStockMarkets), facets = NULL)

autoplot(z) + 
	aes(colour = NULL, linetype = NULL) +
	facet_grid(series ~ ., scales = "free_y")

autoplot(z) + aes(colour = NULL, linetype = NULL) + facet_free() # same

z.yq <- zooreg(rnorm(50), as.yearqtr("2000-1"), freq = 4)
autoplot(z.yq) + scale_x_yearqtr()
}
Documentation reproduced from package zoo, version 1.7-12, License: GPL-2 | GPL-3

Community examples

Looks like there are no examples yet.