I was trying to plot dynamic graph in different panels as it could be done on the website using group
such as
but it should be dynamic using dygraphs. An example code here:
library(quantmod)
library(dygraphs)
data(edhec)
R = edhec[, 1:4]
dygraph(R)
Many thanks in advance.
Create multiple charts, using the synchronization
feature here
To view it as one document, you will need to knit
an HTML page. Look at this SO answer for details.
Your final result would be like this.
To plot multiple dygraphs in the same RStudio window you must first create a list of dygraphs objects, and then render the dygraphs list using package htmltools. Yihui Xie from RStudio provided the answer here: Yihui Xie answer (but without grouping).
Here is working R
code that produces grouped dygraphs candlestick plots:
# load packages
library(quantmod)
library(dygraphs)
library(htmltools)
# download time series into an environment
sym_bols <- c("VTI", "EEM")
data_env <- new.env()
quantmod::getSymbols(sym_bols, from="2017-01-01", env=data_env)
# create a list of dygraphs objects in a loop
dy_graph <- eapply(data_env, function(x_ts) {
dygraphs::dygraph(x_ts[, 1:4], group="etfs",
main=paste("Plot of:", substring(colnames(x_ts)[1], 1, 3)),
width=600, height=400) %>% dygraphs::dyCandlestick()
}) # end eapply
# render the dygraphs objects using htmltools
htmltools::browsable(htmltools::tagList(dy_graph))
# perform same plotting as above using pipes syntax
# create a list of dygraphs objects in a loop
eapply(data_env, function(x_ts) {
dygraphs::dygraph(x_ts[, 1:4], group="etfs",
main=paste("Plot of:", substring(colnames(x_ts)[1], 1, 3)),
width=600, height=400) %>% dygraphs::dyCandlestick()
}) %>% # end eapply
# render the dygraphs objects using htmltools
htmltools::tagList() %>% htmltools::browsable()
The above R
code produces the following grouped dygraphs candlestick plots:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With