Я хочу увеличить график. На диаграмме из кода ниже используются данные с 2007 по 2019 год. Я хотел бы посмотреть на диаграмму только с 2012 по 2015 год. Кто-нибудь знает, как это сделать?
Я пробовал с xlim = ("2012-01-01";"2015-01-01")
, но это не сработало.
library(quantmod)
getSymbols("AAPL")
plot.xts(AAPL[,6])
Вам нужно просто подмножить свой xts-объект, чтобы увеличить его:
xts_data <- AAPL[ , 6]
xts_zoom <- xts_data['2012/2015']
plot.xts(xts_zoom)
Причина, по которой установка xlim
вручную не работает, заключается в том, что значения xlim
рассчитываются внутри самого plot.xts()
. См., например, строки 123-134 исходного кода plot.xts()
:
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')
Одна из кнопок, когда вы пишете или редактируете свои вопросы, помогает отформатировать код, чтобы его было легче читать, как я сделал здесь. Почему у вас стоит точка с запятой в
xlim
?