R: Plotting xts Objects

plot.xts {xts} | R Documentation

## Plotting xts Objects

### Description

Plotting for xts objects.

### Usage

    ## S3 method for class 'xts'
    plot(x, y = NULL, ..., subset = "",
      panels = NULL, multi.panel = FALSE, col = 1:8, up.col = "green",
      dn.col = "red", bg = "#FFFFFF", type = "l", lty = 1, lwd = 2, lend = 1,
      main = deparse(substitute(x)), observation.based = FALSE,
      ylim = NULL, yaxis.same = TRUE, yaxis.left = TRUE, yaxis.right = TRUE,
      major.ticks = "months", minor.ticks = NULL,
      grid.ticks.on = "months", grid.ticks.lwd = 1, grid.ticks.lty = 1,
      grid.col = "darkgray", labels.col = "#333333", format.labels = TRUE,
      grid2 = "#F5F5F5", legend.loc = NULL)
    ## S3 method for class 'xts'
    lines(x, ..., main = "", on = 0, col = NULL, type = "l",
      lty = 1, lwd = 1, pch = 0)
    ## S3 method for class 'xts'
    points(x, ..., main = "", on = 0, col = NULL, pch = 0)

### Arguments

`x` | xts object
`y` | NULL, not used
`...` | any passthrough graphical arguments for `lines` and `points`
`subset` | character vector of length one of the subset range using subsetting as in `xts`
`panels` | character vector of expressions to plot as panels
`multi.panel` | TRUE/FALSE or an integer less than or equal to the number of columns in the data set. If TRUE, each column of the data is plotted in a separate panel. For example, if `multi.panel = 2`, then the data will be plotted in groups of 2 columns and each group is plotted in a separate panel.
`col` | color palette to use, set by default to rational choices
`up.col` | color for positive bars if `type="h"`
`dn.col` | color for negative bars if `type="h"`
`bg` | background color of plotting area, same as in `par`
`type` | the type of plot to be drawn, same as in `plot`
`lty` | set the line type, same as in `par`
`lwd` | set the line width, same as in `par`
`lend` | set the line end style, same as in `par`
`main` | main title
`observation.based` | TRUE/FALSE (default FALSE). If `TRUE`, the x-axis is drawn based on observations in the data. If `FALSE`, the x-axis is drawn based on the time index of the data.
`ylim` | the range of the y axis
`yaxis.same` | TRUE/FALSE. If TRUE, the y axis is drawn with the same ylim for multiple panels
`yaxis.left` | if TRUE, draws the y axis on the left
`yaxis.right` | if TRUE, draws the y axis on the right
`major.ticks` | period to draw the ticks and labels on the x-axis
`minor.ticks` | period to draw minor ticks on the x-axis. If `NULL`, minor ticks are not drawn.
`grid.ticks.on` | period to draw the vertical grid lines on
`grid.ticks.lwd` | line width of the grid
`grid.ticks.lty` | line type of the grid
`grid.col` | color of the grid
`labels.col` | color of the axis labels
`format.labels` | label format to draw lower frequency x-axis ticks and labels passed to `axTicksByTime`
`grid2` | color for secondary x axis grid
`legend.loc` | places a legend into one of nine locations on the chart: bottomright, bottom, bottomleft, left, topleft, top, topright, right, or center. Default NULL does not draw a legend.
`pch` | the plotting character to use, same as in `par`.
`on` | panel number to draw on. A new panel will be drawn if `on=NA`. The default, `on=0`, will add to the active panel. The active panel is defined as the panel on which the most recent action was performed. Note that only the first element of `on` is checked for the default behavior to add to the last active panel.

### Author(s)

Ross Bennett

### References

based on `chart_Series` in the `quantmod` package by Jeffrey A. Ryan

### See Also

`addSeries`, `addPanel`

### Examples

    ## Not run:
    data(sample_matrix)
    sample.xts <- as.xts(sample_matrix)

    # plot the Close
    plot(sample.xts[,"Close"])

    # plot a subset of the data
    plot(sample.xts[,"Close"], subset="2007-04-01/2007-06-31")

    # function to compute simple returns
    simple.ret <- function(x, col.name){
      x[,col.name] / lag(x[,col.name]) - 1
    }

    # plot the close and add a panel with the simple returns
    plot(sample.xts[,"Close"])
    R <- simple.ret(sample.xts, "Close")
    lines(R, type="h", on=NA)

    # add the 50 period simple moving average to panel 1 of the plot
    library(TTR)
    lines(SMA(sample.xts[,"Close"], n = 50), on=1, col="blue")

    # add month end points to the chart
    points(sample.xts[endpoints(sample.xts[,"Close"], on = "months"), "Close"],
           col="red", pch=17, on=1)

    # add legend to panel 1
    addLegend("topright", on=1,
              legend.names = c("Close", "SMA(50)"),
              lty=c(1, 1), lwd=c(2, 1),
              col=c("black", "blue", "red"))

    ## End(Not run)

[Package xts version 0.10-1 Index]