2017-01-19 3 views
2

Я хочу обновить HighCharts Drilldown. Для этого я установил серию и развертку обычным образом.Возможно ли динамическое обновление развертки HighCharts?

Код для заполнения первого уровня детализации подробно, но второй уровень не изменяется ([10,5,1]). Код

$('#button').click(function() { 
    chart.series[0].setData([10],[10,5,1]); 
}); 
}); 

Есть jsfiddle здесь

https://jsfiddle.net/bd1v6tew/3/

ответ

0

Вы можете получить доступ/изменить данные с помощью chart.options.drilldown.series. Например:

$('#button').click(function() { 
     // force highchart to close a open drilldown 
     // otherwise the data will not be updated, or 
     // chart will not work any longer 
     if (chart.drilldownLevels.length > 0) { 
      chart.drillUp(); 
     } 
     chart.series[0].setData([10]); 
     // structure to replace the old data 
     var newdrilldown = [{ 
      id: 'item1', 
      data: [ 
       { 
        name: 'Condition 1', 
        y: 10 
       }, 
       { 
        name: 'Condition 2', 
        y: 5, 
       }, 
       { 
        name: 'Condition 3', 
        y: 1, 
       }] 
     }]; 
     // here you access your drilldown 
     chart.options.drilldown.series = newdrilldown; 
}); 

В случае, если вы не хотите, чтобы заменить весь блок, но только данные внутри вы идете chart.options.drilldown.series[0].data = [] и так далее.

Ваш обновленный fiddle is here.

+0

После обновления данных развертка перестает работать? – user813813

+0

@ user813813 Я думаю, что я понял, что вы имеете в виду, highcharts перестает работать, если вы добавляете/манипулируете данными, если развертка развернута - вам нужно закрыть ее раньше, увидеть обновленный ответ и скрипку –

Смежные вопросы