簡體   English   中英

在ggplot中縮短圖形時間段的簡單方法

[英]Simple way to shorten time period of graph in ggplot

讓我們考慮數據:

library(ggplot2)
library(quantmod)
start <- as.Date("2013-01-01")
end <- as.Date("2016-10-01")
# Apple stock
getSymbols("AAPL", src = "yahoo", from = start, to = end) 

和 plot:

autoplot(Cl(AAPL))

在此處輸入圖像描述

我的問題是:有什么辦法可以縮短我的 plot 的時間段? 例如,我想讓我的 plot 從“2013-01-01”到“2014-01-01”。 當然,我可以通過更改startend變量(在最開始時定義)並重新下載數據集來做完全相同的事情。 但是我發現這個解決方案效率低下。 有沒有更簡單的方法可以執行它?

您可以將xlim =參數添加到autoplot

autoplot(Cl(AAPL),
         xlim = as.Date(c("2014-01-01","2016-04-01")))

在此處輸入圖像描述

如果您願意,也可以使用+運算符:

autoplot(Cl(AAPL)) +
  xlim(as.Date(c("2014-01-01","2016-04-01")))

有關更多信息,請參閱help(autoplot.zoo)

有兩種方法。 一種是指定繪圖例程的限制,另一種是對數據本身進行子集化。 由於第一個答案已經由另一個答案說明,我們將重點關注第二個:

# xts suppports .../... notation
apple <- Cl(AAPL)['2013-01-01/2014-01-01']

# this will extract all rows for 2013
apple <- Cl(AAPL)['2013']

# window function
apple <- window(Cl(AAPL), start = "2013-01-01", end = "2014-01-01")

定義了apple后,我們可以autoplot它。

暫無
暫無

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

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