Add a panel to an existing xts plot
Apply a function to the data of an existing xts plot object and plot
the result. 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, ...)
FUN |
an xts object to plot. |
main |
main title for a new panel if drawn. |
on |
panel number to draw on. A new panel will be drawn if |
type |
the type of plot to be drawn, same as in |
col |
color palette to use, set by default to rational choices. |
lty |
set the line type, same as in |
lwd |
set the line width, same as in |
pch |
the type of plot to be drawn, same as in |
... |
additional named arguments passed through to |
Ross Bennett
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)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.