multiple series in Highcharter R stacked barchart

前端 未结 1 1829
佛祖请我去吃肉
佛祖请我去吃肉 2021-01-12 18:42

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

相关标签:
1条回答
  • 2021-01-12 19:09

    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.

    0 讨论(0)
提交回复
热议问题