Добавьте больше данных в столбец Highchart - PullRequest
0 голосов
/ 12 февраля 2020

Я хотел бы добавить больше информации в мои фактические столбцы, которые показывают различные типы событий, с которыми сталкиваются ветряные турбины за эти годы.

Мне было интересно, можно ли добавить эту дополнительную информацию, используя пакет Highchart или используя детализацию с dplyr.

Я покажу вам картину того, что я ищу, если она существует:

What I want to get Вот мой код и кадры данных. Я на самом деле использую mpgg_EX, но mpgg_EXimproved для получения новых результатов.

Old dataframe mpgg_EX и new dataframe not used mpgg_EXimproved

 library(dplyr)
    library(highcharter)

mpgg_EXimproved<-data.frame("Country" = c("Belux","Belux","Belux","Belux","Belux","Belux","Belux"), "WT_Manufacturer" = c("bubble","bubble","fever","fever","fever","fever","fever"), "Start_Event_Date" = c("2013", "2014","2013","2014","2015","2016","2019"),Unavailability_origin=c("MECA","MECA","OTH","MECA","MECA","MECA","OTH"),access_hub=c(1,1,0,0,1,1,0),blade=c(1,0,0,1,0,0,0),condensator=c(0,0,1,2,0,0,0),sound=c(0,0,0,0,1,0,0),fire=c(0,0,0,0,0,0,1),stringsAsFactors = FALSE)

    mpgg_EX <- data.frame("Country" = c("Belux","Belux","Belux","Belux","Belux"), "WT_Manufacturer" = c("bubble","bubble","fever","fever","fever"), "Start_Event_Date" = c("2013", "2014","2015","2016","2019"),"MECA"=c(2,1,2,1,1),"OTH"=c(1,2,0,0,0),stringsAsFactors = FALSE)
     mpgg_EX = mpgg_EX%>%
        filter(Country =="Belux") %>%
        group_by(WT_Manufacturer,Start_Event_Date)

       categories_grouped_EX <- mpgg_EX %>%
        group_by(name = WT_Manufacturer) %>%
        do(categories = as.list(.$Start_Event_Date)) %>%list_parse()
    categories_grouped_EX<- lapply(categories_grouped_EX, function(x) x[!is.na(x)])

      hc_indispo_EX <- highchart() %>%
        hc_chart(type = "column") %>%
        hc_colors(c("#fc5421","#fcf405")) %>%
        hc_title(text = "Unavailability Manufacturer Example") %>%
        hc_xAxis(title = "Suppliers"
                ,type = "category"
                ,categories = categories_grouped_EX
                 ) %>%
        hc_legend(layout = "vertical", verticalAlign = "bottom",align = "right", valueDecimals = 0, reversed = TRUE) %>%

         hc_plotOptions(
          series = list(
            cropThreshold = 1000,
            stacking = "normal",
            borderWidth = 0,
            grouping = TRUE,
            dataLabels = list(enabled = FALSE)
          )
        ) %>%
            hc_add_series(
          data = mpgg_EX,
          type = "column",
          name = "MECA",
          hcaes(x = Start_Event_Date,
                y = MECA)
         ) %>%
        hc_add_series(
          data = mpgg_EX,
          type = "column",
          name = "OTH",
          hcaes(x = Start_Event_Date,
                y = OTH)
            )  %>%
        hc_tooltip(formatter = JS("function(){
           var point = this.point;
           s = '<b>' + this.series.name + '</b>' + ' :' + Highcharts.numberFormat(this.y,0)  + '<br/>';
            s += '<b>' + 'Total : ' + '</b>' + Highcharts.numberFormat(point.stackTotal,0)  + '<br/>';
           return (s)}"
           ))
      hc_indispo_EX

И я получаю такой результат: enter image description here

1 Ответ

0 голосов
/ 12 февраля 2020

Вы уже используете средство форматирования всплывающей подсказки в своем коде. Просто добавьте дополнительную информацию к вашей переменной s следующим образом:

hc_tooltip(formatter = JS("function(){
           var point = this.point;
           s = '<b>' + this.series.name + '</b>' + ' :' + Highcharts.numberFormat(this.y,0)  + '<br/>';
           s += '<b>' + 'Something: ' + '</b>' + point.WT_Manufacturer  + '<br/>';
           s += '<b>' + 'Test: ' + '</b>' + point.Start_Event_Date  + '<br/>';
            s += '<b>' + 'Total : ' + '</b>' + Highcharts.numberFormat(point.stackTotal,0)  + '<br/>';
           return (s)}"
  ))
...