rm(list = ls())
library("highcharter")
## Highcharts (www.highcharts.com) is a Highsoft software product
## which is not free for commercial and Governmental use
suppressPackageStartupMessages(library("dplyr"))
## Warning: package 'dplyr' was built under R version 3.2.5
options(highcharter.theme = hc_theme_smpl())

hc_add_series_list

data(diamonds, package = "ggplot2")

series <- diamonds %>% 
  sample_n(500) %>% 
  group_by(name = cut) %>% 
  do(data = list.parse2(data.frame(x = .$price, y = .$carat))) %>% 
  list.parse3()

str(series, max.level = 2)
## List of 5
##  $ :List of 2
##   ..$ name: Ord.factor w/ 5 levels "Fair"<"Good"<..: 1
##   ..$ data:List of 14
##  $ :List of 2
##   ..$ name: Ord.factor w/ 5 levels "Fair"<"Good"<..: 2
##   ..$ data:List of 51
##  $ :List of 2
##   ..$ name: Ord.factor w/ 5 levels "Fair"<"Good"<..: 3
##   ..$ data:List of 132
##   .. .. [list output truncated]
##  $ :List of 2
##   ..$ name: Ord.factor w/ 5 levels "Fair"<"Good"<..: 4
##   ..$ data:List of 124
##   .. .. [list output truncated]
##  $ :List of 2
##   ..$ name: Ord.factor w/ 5 levels "Fair"<"Good"<..: 5
##   ..$ data:List of 179
##   .. .. [list output truncated]
head(series[[1]]$data, 3)
## [[1]]
## [[1]][[1]]
## [1] 4853
## 
## [[1]][[2]]
## [1] 1.01
## 
## 
## [[2]]
## [[2]][[1]]
## [1] 16506
## 
## [[2]][[2]]
## [1] 2.1
## 
## 
## [[3]]
## [[3]][[1]]
## [1] 1826
## 
## [[3]][[2]]
## [1] 0.71
highchart() %>% 
  hc_chart(type = "scatter") %>% 
  hc_add_series_list(series)

hc_add_series_df_tidy

dat <- data.frame(id = c(1,2,3,4,5,6),
                  grp = c("A","A","B","B","C","C"),
                  value = c(10,13,9,15,11,16))

dat
##   id grp value
## 1  1   A    10
## 2  2   A    13
## 3  3   B     9
## 4  4   B    15
## 5  5   C    11
## 6  6   C    16
highchart() %>% 
  hc_chart(type = "line") %>% 
  hc_add_series_df_tidy(data = dat, group = grp, values = value)