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