翻譯|使用教程|編輯:王香|2018-12-04 09:41:06.000|閱讀 486 次
概述:使用折線圖,柱形圖和散點圖可視化資產回報的下部分
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
今天,我們續講使用折線圖,柱形圖和散點圖可視化資產回報。該圖表看起來像我們想要的,但鼠標超過一點,并注意到一些次優的美學特征。首先,工具提示未顯示與x-ais上顯示的日期相同的日期。第二,它將完整的y軸值顯示為超過10個小數位,第三,它將兩個ETF稱為和,因為我們沒有提供名稱。讓我們解決這三個問題。series 1series 2
首先,系列的名稱很容易添加和。name = "SPY"name = "EFA"
highchart(type = "stock") %>% hc_add_series(asset_returns_xts$SPY, type = "scatter", name = "SPY") %>% hc_add_series(asset_returns_xts$EFA, type = "scatter", name = "EFA")
接下來,我們通過添加到流程并使用更改x點顯示的格式來修改工具提示格式。這告訴工具提示使用日期格式。
hc_tooltip(pointFormat = ){point.x:%Y-%m-%d}
然后我們改變y點顯示,告訴工具提示舍入到四個小數位,然后在它后面放一個%符號。嘗試將其更改為并查看結果。
{point.y:.4f}%{point.y:.8f}
highchart(type = "stock") %>% hc_add_series(asset_returns_xts$SPY, type = "scatter", name = "SPY") %>% hc_add_series(asset_returns_xts$EFA, type = "scatter", name = "EFA") %>% hc_tooltip(pointFormat = '{point.x: %Y-%m-%d} {point.y:.4f}%')
我喜歡highcharter選擇的默認顏色,但我們可以使用color參數自定義它們。
highchart(type = "stock") %>% hc_add_series(asset_returns_xts$SPY, type = "scatter", name = "SPY", color = "lightblue") %>% hc_add_series(asset_returns_xts$EFA, type = "scatter", name = "EFA", color = "pink") %>% hc_tooltip(pointFormat = '{point.x: %Y-%m-%d} {point.y:.4f}% ')
這就是保存數據的全部內容asset_returns_xts,讓我們探討如何從長格式化數據構建這些相同的可視化。 回想一下這個結構asset_returns_long。
如果我們希望為SPY創建返回的折線圖,我們無法選擇該SPY列,因為沒有調用列SPY。我們需要通過調用來過濾asset列何時等于。SPYfilter(asset == "SPY")
asset_returns_long %>% filter(asset == "SPY") %>% head()
現在我們將數據傳遞給使用運算符,運算符將數據從函數傳遞給函數。hchart()%>%
當我們運行,我們正在篩選到的意見,然后將它們傳遞給帶。這括號內告訴使用過濾后的數據。這可能看起來有點冗長但是通過這個流程,我們可以快速過濾不同的條件,然后將結果傳遞給,如果我們希望過濾類似的東西而不是(我們稍后會),這可以非常方便。asset_returns_long %>% filter(asset == "SPY")SPYhchart()hchart(.).hcharthchart()dateasset
但是,我們還沒有完成,因為我們需要再次使用type =“line”來指定圖表的類型,然后將我們的美學映射到。這一切都回到了數據結構。asset_returns_xts沒有日期列,日期在索引中,而highcharter默認使用該索引。有一個日期列,但高圖無法知道我們想要的日期列,除非我們明確告訴它。hcaes(x = date, y = returns)hcaesasset_returns_longx-axis
asset_returns_long %>% filter(asset == "SPY") %>% hchart(., type = "line", hcaes(x = date, y = returns))
請注意此圖表與上一個折線圖之間的一些差異。首先,這里沒有導航器或日期選擇器。當我們帶走時,我們失去了。此外,y軸默認為在左側。我更喜歡這樣 - 也許你討厭它!可以使用hc_yAxis(相反= TRUE)將其更改回右側。為了更好地衡量,我們也可以通過調用labels = list(format =“{value}%”)向y軸添加%標簽highchart(type = "stock")
asset_returns_long %>% filter(asset == "SPY") %>% hchart(., type = "line", hcaes(x = date, y = returns)) %>% hc_yAxis(opposite = TRUE, labels = list(format = "{value}%"))
我們可以使用完全相同的代碼流來創建柱形圖,方法是更改??為。我還希望數據的名稱出現在工具提示中,可以使用。type = "column"name = "SPY"
asset_returns_long %>% filter(asset == "SPY") %>% hchart(., type = "column", hcaes(x = date, y = returns), name = "SPY") %>% hc_yAxis(opposite = TRUE, labels = list(format = "{value}%"))
最后,讓我們從整齊,長格式的數據創建一個散點圖。我們改為并再次需要指定我們的工具提示格式。type = "scatter"hc_tooltip(pointFormat = '{point.x:%Y-%m-%d}...)
asset_returns_long %>% filter(asset == "SPY") %>% hchart(., type = "scatter", hcaes(x = date, y = returns), name = "SPY") %>% hc_yAxis(opposite = TRUE, labels = list(format = "{value}%")) %>% hc_tooltip(pointFormat = '{point.x:%Y-%m-%d} {point.y: .4f}%')
假設我們希望將所有ETF數據分散在一個charty和顏色上。我們可以回到每個ETF的原始版本,但這會有點單調乏味。通過我們整潔的數據流,我們可以刪除然后添加。根據該集團的說法,這告訴高報人員對每個ETF進行不同的著色。請注意它如何創建圖例并在工具提示中包含ETF名稱。flow and use hc_add_seriesfilter(asset == "SPY")hcaes(...group = asset)
asset_returns_long %>% hchart(., type = "scatter", hcaes(x = date, y = returns, group = asset)) %>% hc_yAxis(opposite = TRUE, labels = list(format = "{value}%")) %>% hc_tooltip(pointFormat = '{point.x:%Y-%m-%d} {point.y: .4f}%')
我們可以很快看到2015年8月的最低月度回報是EEM。
創建柱形圖可能會很不錯,但僅適用于2017年的月度回報。以下是過濾靈活性的幫助。我們可以打電話來隔離2017年的月份,然后建立我們的柱形圖。filter(date >= "2017-01-01" & date <= "2018-01-01")
asset_returns_long %>% filter(date >= "2017-01-01" & date < "2018-01-01") %>% hchart(., type = "column", hcaes(x = date, y = returns, group = asset)) %>% hc_yAxis(opposite = FALSE, labels = list(format = "{value}%")) %>% hc_tooltip(pointFormat = '{point.x: %Y-%m-%d} {point.y:.4f}% ')
請注意返回按列格式按日期自然分組在一起,這有助于按月比較每個ETF。IJS看起來是2017年最不穩定的,這看起來像是Shiny應用程序的一個很好的候選者,最終用戶可以選擇自定義日期和一組ETF來圖表。
購買Highcharts正版授權,請點擊“”喲!
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn