After going through the highcharter package documentation, visiting JBKunst his website, and looking into list.parse2(), I still can not solve the problem. Problem is as fol
a good approach to add multiples series in my opinion is use hc_add_series_list
(oc you can use a for loop) which need a list of series (a series is for example list(name="A",data=mydata$A)
.
As you said, you need to melt/gather the data, you can use tidyr
package:
mynewdata <- gather(mydata)
Then you'll need to group the data by key
argument to create the data for each key
/series. Here you can use dplyr
package:
mynewdata2 <- mynewdata %>%
# we change the key to name to have the label in the legend
group_by(name = key) %>%
# the data in this case is simple, is just .$value column
do(data = .$value)
This data frame will contain two columns and the 2nd colum will contain the ten values for each row.
Now you need this information in a list. So we need to parse using list.parse3
instad of list.parse2
beacuse preserve names like name
or data
.
series <- list.parse3(mynewdata2)
So finally change:
hc_series(list(name="A",data=mydata$A),
list(name="B",data=mydata$B),
list(name="C",data=mydata$C))
by:
hc_add_series_list(series)
Hope this is clear.