1

我正在尝试使用该exporting选项添加一个按钮,然后该按钮用于在带有真实点的折线图和带有它们的累积总和的折线图之间切换。

我正在使用以下代码:

  $(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;
}

alert我可以看到数据计算正确,但情节保持不变。

我也试过series[0].yDataseries[0].processedYData

4

1 回答 1

3

setData 是一个函数,你必须像这样调用它:

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

有关详细信息,请参阅 API http://api.highcharts.com/highstock#Series

于 2013-08-15T13:09:36.537 回答