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))
}
标准 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))
}