我用plot.zoo创建了一个六面板的情节 并用par(new = T)清除了我的图形设置。我预计下一个六面板绘图将在另一个“上方”。但是,第一个面板丢失了(仍然在旧图上),只有2-6出现了(但是位置错误)。 除了par(new = T)之外,我还需要重设什么?
> require(PerformanceAnalytics)
> data('managers')
> managers <- managers[,c('HAM1','HAM3','HAM4','SP500 TR','US 10Y TR','US 3m TR')]
> plot.zoo(managers)
> par(new = T)
> plot.zoo(managers*1.1, col='red')
答案 0 :(得分:1)
for
在多面板图中不支持该功能。通常,它希望您一次调用即可完成所有操作,可能需要指定一个plot.zoo
函数。
这是两种方法。请注意,第一种方法是panel=
被回收。
screens
还请注意,如果您想多次通过,可以使用library(PerformanceAnalytics)
library(zoo)
data("managers")
cn <- c('HAM1','HAM3','HAM4','SP500 TR','US 10Y TR','US 3m TR')
managers_z <- as.zoo(managers)
# 1. without a panel function
plot(cbind(managers_z[, cn], 1.1*managers_z[, cn]), screens = seq_along(cn),
col = rep(c("black", "red"), each = length(cn)))
# 2. with a panel function
pnl <- function(x, y, ...) {
lines(y ~ x, ...)
dots <- list(...)
dots$col <- "red"
do.call(lines, c(1.1 * y ~ x, dots))
}
plot(managers_z[, cn], panel = pnl)
来做到这一点:
xyplot.zoo