Я хочу динамически обновлять свою серию на высоких диаграммах одним щелчком мыши, а также вернуть ее к исходному состоянию, нажав другую кнопку (#previous) - PullRequest
1 голос
/ 09 мая 2020

Это моя скрипка, она отображает те же данные при нажатии на предыдущую кнопку после новой кнопки http://jsfiddle.net/n4L8s3m0/2/

$(function () {

$('#container').highcharts({
   series:data1
});

// For New Data

$('#new').click(function() {
  var chart = $('#container').highcharts();

  chart.update({
    series: series
  });
  });

//Back to same series

$('#previous').click(function() {
 var chart = $('#container').highcharts();
 chart.update({
     series: data1

  });
  });


});

1 Ответ

0 голосов
/ 11 мая 2020

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

    function getData1() {
        return [...]
    }

    function getSeries() {
        return [...]
    }

    $('#container').highcharts({
        series: getData1()
    });

    // For New Data
    $('#new').click(function() {
        ...
        chart.update({
            series: getSeries()
        });
    });

    //Back to same series
    $('#previous').click(function() {
        ...
        chart.update({
            series: getData1()
        });
    });

Живая демонстрация: http://jsfiddle.net/BlackLabel/qk3rLa5v/

...