## Test Plot Function
testPlot <- function(x, which = "all", ...) {
## Plot Function and Addons
plot.1 <<- function(x, ...) plot(x, ...)
plot.2 <<- function(x, ...) acf(x, ...)
plot.3 <<- function(x, ...) hist(x, ...)
plot.4 <<- function(x, ...) qqnorm(x, ...)
## Plot
interactivePlot(
x,
choices = c("Series Plot", "ACF", "Histogram", "QQ Plot"),
plotFUN = c("plot.1", "plot.2", "plot.3", "plot.4"),
which = which, ...)
## Return Value
invisible()
}
## Plot
## prepare the window and store its previous state
op <- par(mfrow = c(2, 2), cex = 0.7)
## produce the plot
testPlot(rnorm(500))
## restore the previous state
par(op)
## Try:
## par(mfrow = c(1,1))
## testPlot(rnorm(500), which = "ask")
## similar to above but using functions for plotFUN
testPlot_2 <- function(x, which = "all", ...) {
interactivePlot(
x,
choices = c("Series Plot", "ACF", "Histogram", "QQ Plot"),
plotFUN = c(plot.1 = function(x, ...) plot(x, ...),
plot.2 = function(x, ...) acf(x, ...),
plot.3 = function(x, ...) hist(x, ...),
plot.4 = function(x, ...) qqnorm(x, ...) ),
which = which, ...)
## Return Value:
invisible()
}
## produce the plot
op <- par(mfrow = c(2, 2), cex = 0.7)
testPlot_2(rnorm(500))
par(op)
Run the code above in your browser using DataLab