xts 循环绘图:无输出

xts plot in a loop: no output

标准 plot 方法会立即显示结果。但是对于 xts 对象,这仅在 plot.xts 未在循环内调用时有效。例如,这段代码可以正常工作:

library(xts)
data(sample_matrix)
sample.xts <- as.xts(sample_matrix)
plot(sample.xts)

而以下代码不显示任何结果:

# dev.off()
par(mfrow=c(1,2))
for (i in seq(2)) {
    plot(sample.xts)
}

第二种情况的剧情在哪里? 为什么 xts.plot 不像标准的绘图函数?

绘制 returns 一个绘图对象,在您的第一种情况下默认打印。在循环或函数中,您需要显式打印它。

par(mfrow=c(1,2))
for (i in seq(2)) {
    print(plot(sample.xts))
}