Я пытался в течение 45 минут заставить ggplot
хорошо играть и вышел пустым.Я поговорю с командой 'zoo' о добавлении опции autoplot.zoo()
, чтобы вы могли просто позвонить autoplot(zt, new.option = TRUE)
, чтобы сгенерировать нужный вам сюжет.
Вы правы, что quantmod::chart_Series()
в первую очередьдля финансовых временных рядов.Похоже, вы знакомы с zoo и xts, которые являются классами данных, поддерживающими любые временные ряды.
Вы можете использовать plot.xts()
.Обязательно установите observation.based = TRUE
, чтобы ось x имела одинаковое пространство между наблюдениями независимо от количества времени между ними.
# reproducible data
x <- structure(c(143432L, 93522L, 152178L, 117424L, 268167L, 245504L, 288977L,
230484L, 265244L, 183313L, 130850L, 139846L, 257797L, 261628L, 140620L, 171228L,
118685L, 107209L, 116918L, 225035L), .Dim = c(20L, 1L),
index = structure(c(1519921800, 1519925400, 1519929000, 1519932600, 1519936200,
1519939800, 1519941540, 1520008200, 1520011800, 1520015400, 1520019000,
1520022600, 1520026200, 1520027940, 1520267400, 1520271000, 1520274600,
1520278200, 1520281800, 1520285400), tzone = "", tclass = c("POSIXct", "POSIXt")),
class = c("xts", "zoo"), .indexCLASS = c("POSIXct", "POSIXt"),
tclass = c("POSIXct", "POSIXt"), .indexTZ = "", tzone = "")
Теперь вызовите plot()
для объекта xts.
plot(x, observation.based = TRUE, major.ticks = "hours")