在plot.xts

时间:2019-06-11 13:33:11

标签: r quantmod

我想放大图表。下面代码中的图表使用了2007年到2019年的数据。我只想看一下2012年到2015年的图表。有人知道怎么做吗?

我尝试过使用xlim = ("2012-01-01";"2015-01-01"),但这没用。

library(quantmod)
getSymbols("AAPL")
plot.xts(AAPL[,6])

1 个答案:

答案 0 :(得分:0)

您只需将xts对象子集进行缩放即可:

xts_data <- AAPL[ , 6]
xts_zoom <- xts_data['2012/2015']
plot.xts(xts_zoom)

手动设置xlim无效的原因是xlim的值是在plot.xts()本身内部计算的。例如,请参见plot.xts()源代码的第123-134行:

   if (cs$Env$observation.based) {
        cs$Env$xycoords <- xy.coords(1:NROW(cs$Env$xdata[subset]))
        cs$set_xlim(c(1, NROW(cs$Env$xdata[subset])))
        cs$Env$xstep <- 1
    }
    else {
        xycoords <- xy.coords(.index(cs$Env$xdata[cs$Env$xsubset]), 
        cs$Env$xdata[cs$Env$xsubset][, 1])
        cs$Env$xycoords <- xycoords
        cs$Env$xlim <- range(xycoords$x, na.rm = TRUE)
        ...
    }

另一种选择是使用quantmod软件包本身的内置缩放工具:

chartSeries(xts_data)
zoomChart('2012/2015')