您需要創建一個面板函數,該面板函數將在ts.plot創建的每個面板中操作以處理多個系列。它需要複製的行()函數處理參數,以及如何接受abline一個參數,然後將在局部座標系中的「工作」:
?ts.plot
my.ts.panel <- function(x, col = col, bg = bg, pch = pch, type = type, vpos=8.75, ...){
lines(x, col = col, bg = bg, pch = pch, type = type, ...)
abline(v=vpos)}
plot.ts(cbind(a, b, c, d, e, f, g, h),main="Time Series", panel=my.ts.panel)
這就像擴充格的功能,除了它是全部完成在基礎圖形中。
在參數列表中忽略vpos的設置可能會更好。然後您將從外部處理它,並且不需要重寫該功能。 (你的選擇,當我嘗試將它傳遞到ts.plot的參數列表中時,我收到了來自「圖形警察」的警告。):
vpos=8.75
my.ts.panel <- function(x, col = col, bg = bg, pch = pch, type = type, ...){
lines(x, col = col, bg = bg, pch = pch, type = type, ...)
abline(v=vpos)}
plot.ts(cbind(a, b, c, d, e, f, g, h),main="Time Series", panel=my.ts.panel)