簡體   English   中英

為預測/時間序列對象操縱x軸

[英]Manipulating x-axis for forecast/timeseries objects

美好的一天,

我正在嘗試在R中生成的預測的右側進行剪切/縮放。時間序列/ ARIMA代碼如下所示。 我已經嘗試過使用子集xlimit的多種方法,但是無論如何我還是無法獲得。 我已經嘗試過coord_cartersian,但不確定是否適用於預測數據集(試圖研究預測/ ggplot軟件包文檔,但沒有明確的答案)。

下面是我的代碼

#time series from January 1st       2012 until 10th of august 2016
dd = ts(data = dailydemand, frequency = 365) 
dd.arima = auto.arima(dd) # Auto arima
dd.f = forecast.Arima(dd.arima, h = 7) # forecast 7 days
# getting the quantity needed for next day
n2.cnt = as.data.frame(dd.f) 
n2.cnt = as.numeric(round(dd.f [1,1]) ) 
autoplot(dd.f) + 
  ggtitle("Daily demand forecast") + 
  ylab("Count of cars") +
  geom_hline(dd.f, yintercept = n2.cnt)  

coord_cartesian沒用,我也嘗試過縮放包來放大過去3天

coord_cartesian似乎為我工作。 您沒有提供一個最小的可復制示例 (請下次進行),因此在此我以AirPassengers數據集為例。

library(forecast)
library(ggplot2)
library(gridExtra)

dd <- AirPassengers
dd.arima <- auto.arima(dd) # Auto arima
dd.f <- forecast.Arima(dd.arima, h = 12) # forecast 12 months

檢查attr(dd.f$x, "tsp") x軸似乎是實際年份,因此我們用coord_cartesian表示限制:

attr(dd.f$x, "tsp")
# [1] 1949.000 1960.917   12.000   
g1 <- autoplot(dd.f) + 
  ggtitle("Air passengers forecast") + 
  ylab("y") 
g2 <- autoplot(dd.f) + 
  ggtitle("Air passengers forecast") + 
  ylab("y") +
  coord_cartesian(xlim = c(1960, 1962.1))
grid.arrange(g1, g2, ncol=2)

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM