library(dygraphs)
You can use dygraphs plotters to customize the appearance of dygraphs.
Once you've created a dygraphs plotter you can use the dyPlotter
function to create
an R wrapper function for it. Examples of R wrappers for two simple dygraphs plotters
are provided below.
This plotter draws a bar plot rather a line plot.
Here's how you'd create an R function to wrap the Bar Chart plotter:
dyBarChart <- function(dygraph) { dyPlotter(dygraph = dygraph, name = "BarChart", path = system.file("plotters/barchart.js", package = "dygraphs")) }
The plotter can now be used directly within a dygraph pipeline along with other dygraphs functions:
dygraph(ldeaths) %>% dyRangeSelector() %>% dyBarChart()
This plotter draws multiple column bar chart.
Here's how you'd create an R function to wrap the Bar Chart plotter:
dyMultiColumn <- function(dygraph) { dyPlotter(dygraph = dygraph, name = "MultiColumn", path = system.file("plotters/multicolumn.js", package = "dygraphs")) }
The plotter can now be used directly within a dygraph pipeline along with other dygraphs functions:
lungDeaths <- cbind(mdeaths, fdeaths) dygraph(lungDeaths) %>% dyRangeSelector() %>% dyMultiColumn()
While the above plotters act on all the underlying data of the dygraph, you can
also use variations of the plotters to act on only a single series. Several variations
come with the dygraphs
package.
lungDeaths <- cbind(mdeaths, fdeaths) dygraph(lungDeaths) %>% dyRangeSelector() %>% dyBarSeries('fdeaths') %>% dyFilledLine('mdeaths')
dygraphs
comes packaged with a number of group-based plotters.
Similar to working with just a single series, you can also use custom plotters on a group of data series from the underlying data. Check the documentation under Plotters
for more inspiration.
lungDeaths <- cbind(mdeaths, fdeaths, ldeaths) dygraph(lungDeaths) %>% dyStackedBarGroup(c('ldeaths', 'mdeaths')) dygraph(lungDeaths) %>% dyMultiColumnGroup(c('mdeaths', 'fdeaths')) lungDeaths <- cbind(mdeaths, fdeaths, ldeaths, adjustment = 100) dygraph(lungDeaths) %>% dyStackedRibbonGroup(c('fdeaths', 'ldeaths')) %>% dyStackedBarGroup(c('adjustment', 'mdeaths'))
Use the plotters to highlight different series, stack only related groups, or whatever!
lungDeaths <- cbind(ldeaths, fdeaths, mdeaths, additive = rep.int(200, length(ldeaths)), line = rep.int(3000, length(ldeaths))) dygraph(lungDeaths) %>% dySeries('line', strokePattern = 'dashed') %>% dySeries('ldeaths', stepPlot = TRUE) %>% dyStackedBarGroup(c('additive', 'mdeaths')) %>% dyStackedRibbonGroup(c('fdeaths', 'ldeaths'))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.