Apply a function to the data of an existing xts plot object and plot the
result on an existing or new panel. FUN should have arguments x or R
for the data of the existing xts plot object to be passed to. All other
additional arguments for FUN are passed through ....
addPanel(
FUN,
main = "",
on = NA,
type = "l",
col = NULL,
lty = 1,
lwd = 1,
pch = 1,
...
)An xts object to plot.
Main title for a new panel if drawn.
Panel number to draw on. A new panel will be drawn if on = NA.
The type of plot to be drawn, same as in plot().
Color palette to use, set by default to rational choices.
Set the line type, same as in par().
Set the line width, same as in par().
The type of plot to be drawn, same as in par().
Additional named arguments passed through to FUN and any
other graphical passthrough parameters.
library(xts)
data(sample_matrix)
sample.xts <- as.xts(sample_matrix)
calcReturns <- function(price, method = c("discrete", "log")){
px <- try.xts(price)
method <- match.arg(method)[1L]
returns <- switch(method,
simple = ,
discrete = px / lag(px) - 1,
compound = ,
log = diff(log(px)))
reclass(returns, px)
}
# plot the Close
plot(sample.xts[,"Close"])
# calculate returns
addPanel(calcReturns, method = "discrete", type = "h")
# Add simple moving average to panel 1
addPanel(rollmean, k = 20, on = 1)
addPanel(rollmean, k = 40, col = "blue", on = 1)