2015-06-25 2 views
0

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

h1 <- hPlot(x = "x", y = "y", group = "group", data = data, type = "column") 
h1$legend(enabled=FALSE) 
h1$chart(height=700, width=700) 
h1$title(text = "Title") 
h1$subtitle(text = "Subtitle") 
h1$yAxis(title = list(text = "yAxis")) 
h1$xAxis(title = list(text = "xAxis")) 
h1$tooltip(formatter = "#! function(){return('<b>x: </b>' + this.x + '<br/>' + 
     '<b>y: </b>' + this.series.name + '<br/>' + 
     '<b>z: </b>' + Highcharts.numberFormat(100*this.y,2)) + 
     '<b>%</b>';} !#") 
h1$plotOptions(series = list(allowPointSelect = 'true')) 

Вот пример интерактивный сюжет http://tmp.ocpu.io/x0b4763059b/files/output.html Таким образом, вместо того, чтобы нажать на легенде для переключения серии вкл/выкл, я хотел бы, чтобы нажать/парить на колоннах, чтобы переключить/скрасить эту конкретную серию.

ответ

1

Я понял. Добавлено:

h1$plotOptions(
    series = list( 
    point = list(
     events = list(
     click = "#! function() { 
      if (chart.series[0].visible) { 
      for (var i = 0; i < chart.series.length; i++) { 
       chart.series[i].hide(); 
      } 
      this.series.show(); 
      } else { 
      for (var i = 0; i < chart.series.length; i++) { 
       chart.series[i].show(); 
      } 
      } 
     } !#")) 
    ) 
) 

и удалены:

h1$plotOptions(series = list(allowPointSelect = 'true')) 
Смежные вопросы