- 範例資料介紹
- R時間變數調整
- Dygraph 基本繪圖
- 各種參數統整
- DyOptions()
- DyAxis ()
- DyEvent ()
- DyLimit ()
- DyRangeSelector ()
- DyLegend ()
- 尺規問題
- RColorBrewer
- 多條線的變化
- 預測圖製作
2016年1月8日
> as.Date("1992/3/11","%Y/%m/%d")
[1] "1992-03-11"
> as.Date("1992.3.1","%Y.%m.%d")
[1] "1992-03-01"
> as.Date("3.11.92","%m.%d.%y")
[1] "1992-03-11"
> library(zoo) > data.ts<-zoo(data[,-1],as.Date(as.character(data[,"Date"]),"%Y/%m/%d")) > data.ts[1:10,]
USDEUR USDGBP USDJPY 2014-01-01 0.73 0.60 105 2014-01-02 0.73 0.61 105 2014-01-03 0.74 0.61 105 2014-01-06 0.73 0.61 104 2014-01-07 0.73 0.61 105 2014-01-08 0.74 0.61 105 2014-01-09 0.73 0.61 105 2014-01-10 0.73 0.61 104 2014-01-13 0.73 0.61 103 2014-01-14 0.73 0.61 104
> J.ts<-data.frame('USDJPY'=data.ts[,3])
> q <- dygraph(J.ts ,main = "日圓匯率走勢") %>%
+ dySeries("USDJPY", label = "日圓走勢", col='deepskyblue')
> q
> ## 只看歐元跟英鎊,先移除日圓
> EP<-data.ts[,-3]
> dygraph(EP ,main = "匯率走勢") %>%
+ dySeries("USDEUR", label = "歐元走勢") %>%
+ dySeries("USDGBP", label = "英鎊走勢")
可以使用R內建的顏色進行配色,但只能使用原色。
ex. deepskyblue、deepskyblue1、deepskyblue1,只有deepskyblue可以用。
| 參數 | 解釋 |
|---|---|
| fillGraph = TRUE | line下面要不要填滿 |
| fillAlpha = 0.2 | 填滿顏色的深淺調整 |
| drawGrid = TRUE | 要不要背景的網格 |
| axisLineWidth = 0.5 | x,y 軸的粗細程度 |
| axisLineColor = "gold" | x,y 軸的顏色 |
| gridLineColor = "gold" | 網格的顏色 |
| drawPoints = TRUE | 要不要加點,點的大小 |
| pointSize = 0.5 | 點大小設定 |
Example
> #q: 日元走勢圖 > q %>% dyOptions( axisLineWidth = 1.5, axisLineColor="orange", + gridLineColor="indianred" , fillGraph = T,fillAlpha = 0.2, + drawGrid = TRUE,drawPoints=TRUE, pointSize = 1 ) ->q1 > q1
> # q1 : 日元走勢圖
> q1 %>% dyAxis("x", label = " 日期 ", drawGrid = T) %>%
+ dyAxis("y", label = " USDJPY ", drawGrid = F)
> # q1 : 日元走勢圖
> q1 %>% dyEvent("2014-10-31", "安倍宣布加強量化寬鬆政策", labelLoc = "top", col='blue') %>%
+ dyEvent("2014-5-20", "巧虎媽媽生日", labelLoc = "bottom", col='gold')
> # q1 : 日元走勢圖
> a<-data.ts[which(data[ ,'Date']=='2014/10/31'), 'USDJPY']
> q1 %>% dyEvent("2014-10-31", "安倍宣布加強量化寬鬆政策", labelLoc = "bottom", col='royalblue') %>%
+ dyLimit(a, '日幣又開始狂貶了' , labelLoc='right' ,color = "magenta")
> dygraph(EP ,main = "匯率走勢") %>%
+ dySeries("USDEUR", label = "歐元走勢") %>%
+ dySeries("USDGBP", label = "英鎊走勢") %>%
+ dyRangeSelector(height = 20)
> q1 %>% dyLegend(show = 'follow')
> q1 %>% dyLegend(show = "always", hideOnMouseOut = T)
> dygraph(data.ts, main = "Exchange Rate")
> q3 <- dygraph(data.ts, main = "Exchange Rate") %>%
+ dySeries("USDJPY", axis = 'y2') %>%
+ dyRangeSelector(height = 20)
> q3
> q3 %>% dyOptions(colors = RColorBrewer::brewer.pal(3, 'Dark2'))
> q3 %>% dyHighlight(highlightCircleSize = 3, + highlightSeriesBackgroundAlpha = 0.2) # highlightSeriesBackgroundAlpha 深淺調整
> dygraph(pred.ts, " 日圓預測走勢 ") %>%
+ dySeries("真實值", label = "Actual",color = "midnightblue") %>%
+ dySeries(c("下界", "模型預測值", "上界"), label = "Predicted",strokeWidth = 1,color='forestgreen') %>%
+ dyRangeSelector(height = 20) %>%
+ dyLegend(show = "always", hideOnMouseOut = T)