plot.xts: Plotting xts Objects

Description Usage Arguments Author(s) References Examples

Description

Plotting for xts objects. TODO: description, details, and examples

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
## S3 method for class 'xts'
plot(x, y = NULL, ..., subset = "", FUN = NULL,
  panels = NULL, multi.panel = FALSE, col = 1:12, up.col = "green",
  dn.col = "red", type = "l", lty = 1, lwd = 2, lend = 1,
  main = deparse(substitute(x)), clev = 0, cex = 0.6, cex.axis = 0.9,
  mar = c(3, 2, 0, 2), srt = 0, observation.based = FALSE, xaxis.las = 0, 
  ylim = NULL, yaxis.same = TRUE, yaxis.left = TRUE, yaxis.right = TRUE,
  grid.ticks.on = "months", grid.ticks.lwd = 1, grid.ticks.lty = 1,
  grid.col = "darkgray", labels.col = "#333333", format.labels = TRUE,
  shading = 1, bg.col = "#FFFFFF", grid2 = "#F5F5F5", legend.loc = NULL)
## S3 method for class 'xts'
lines(x, ..., main = "", on = NA, col = NULL, type = "l",
  lty = 1, lwd = 1, pch = 0)
## S3 method for class 'xts'
points(x, ..., main = "", on = NA, col = NULL, pch = 0)

Arguments

x

xts object

y

NULL, not used

...

any passthrough parameters to FUN for plot and additional graphical arguments for lines and points

subset

character vector of length one of the subset range using subsetting as in xts

FUN

function to apply to x and plot

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 positive bars if type="h"

type

the type of plot to be drawn, same as in plot

lty

set the line type, same as in plot

lwd

set the line width, same as in plot

lend

set the line end style, same as in plot

main

main title

clev

level for shading, not currently used

cex

not currently used

cex.axis

cex of the axis

mar

set the margins, same as in par

srt

rotation for the y axis labels

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.

xaxis.las

rotation for the x axis labels

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

grid.ticks.on

period to draw the grid ticks 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

not currently used

shading

not currently used

bg.col

not currently used

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.

Author(s)

Ross Bennett

References

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

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
## 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
}

# pass in the simple.ret function and plot the output
plot(sample.xts, FUN=simple.ret, col.name="Close")

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

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

Example output

Loading required package: zoo

Attaching package: 'zoo'

The following objects are masked from 'package:base':

    as.Date, as.Date.numeric

xts documentation built on May 2, 2019, 5:18 p.m.