Как перерисовать HighChart после выбора раскрывающегося списка

У меня есть drop down menu с именем info, и я хочу обновлять свой highchart каждый раз, когда пользователь выбирает значение через info menu.

Вот код:

$('#info').on('change', function() {

  add_info(this.value);

});

Метод add_info() просто получает данные через ajax, и вот как я их обрабатываю после получения обратно response:

if(chart=='stacked_chart'){

    console.log(JSON.stringify(response));

          var series = [{name:'Coached',data:[]},{name:'Non Coached',data:[],stack: 'yes'},{name:'Delta',data:[],stack: 'yes'}],
          year, month, day;


            for(var i=0; i<response.length;i++){ 

                var d = response[i].date.split(",");
                year = parseFloat(d[0]);
                month = parseFloat(d[1])-1; //date.utc method starts month 0-11
                day = parseFloat(d[2]);
                var coached = +(parseFloat(response[i].coached).toFixed(3)); 
                var non_coached = +(parseFloat (response[i].non_coached).toFixed(3));
                var delta = +(parseFloat (response[i].delta).toFixed(3));

                series[0].data.push([Date.UTC(year,month,day),coached]);
                series[1].data.push([Date.UTC(year,month,day),non_coached]);
                series[2].data.push([Date.UTC(year,month,day),delta]);
                console.log(Date.UTC(year,month,day));
            }

                  console.log(series);

          if(series.length){

           stacked_chart.userOptions.series = series;
            var chart = new Highcharts.Chart(stacked_chart.userOptions);
            console.log(chart.series[0].data[0].options);
            console.log(chart.series[1].data[0].options);
            console.log(chart.series[2].data[0].options);


          }
    }

Я вижу, что он возвращает новые данные, но не перерисовывает. Я просмотрел здесь, но не смог перерисовать график. Есть идеи, как сбрасывать диаграмму каждый раз, когда пользователь выбирает новое значение из раскрывающегося списка?


person Shery    schedule 08.08.2016    source источник
comment
Есть несколько способов в зависимости от деталей того, что вы хотите. Будет намного проще помочь с примером скрипки. Если вы предоставляете совершенно новые ряды и данные из выбора пользователя, я бы просто уничтожил диаграмму и построил новую.   -  person jlbriggs    schedule 08.08.2016
comment
Хорошо, я разобрался, внеся определение диаграммы в метод обработки ответов ajax. Спасибо за вашу помощь   -  person Shery    schedule 08.08.2016