nigmastar
nigmastar

Reputation: 470

Update Highchart data form exported button

I'm trying to use the exporting option to add a button which is then used to switch between a line chart with the real point and another with the cumulative sum of them.

I'm using the following code:

  $(function () { 
    $('#container').highcharts({
        chart: {
            type: 'line'
        },
        xAxis: {
            tickPixelInterval: 200,
            categories: jsonResponse["Date"]
        },
        series: {
            data: jsonResponse["values"]
        },
        exporting: {
            buttons: {
                'myButton': {
                    _id: 'myButton',
                    symbol: 'diamond',
                    text: 'Cumulative',
                    x: -62,
                    symbolFill: '#B5C9DF',
                    hoverSymbolFill: '#779ABF',
                    onclick: function() {
                      if(!cumulative){
                        this.series[0].setData = cumcum(jsonResponse["values"]);
                        alert(this.series[1].setData);
                        cumulative = true;
                      } else {
                        this.series[0].setData = jsonResponse["values"];
                        cumulative = false;
                        alert(this.series[1].setData);
                      }
                    },
                    _titleKey: "myButtonTitle"

                }
            }
        }
    });
  });

function cumcum(data){
  var res = new Array();
  res[0] = data[0];
  for(var i=1; i<data.length; i++) {
    res[i] = res[i-1] + data[i]; 
  }
  return res;
}

From the alert I can see that the data are correctly calculated but the plot stays the same.

I also tried series[0].yData and series[0].processedYData

Upvotes: 1

Views: 415

Answers (1)

mitjak
mitjak

Reputation: 54

setData is a function, you have to call it like:

this.series[0].setData(cumcum(jsonResponse["values"])

See API http://api.highcharts.com/highstock#Series for more information.

Upvotes: 3

Related Questions