在向上钻取时,动态地将数据添加到高图中的顶层

时间:2016-10-20 06:32:14

标签: javascript highcharts highcharts-ng

我在highcharts中使用asyn drilldown。 当我向下钻取时,我正在调用一个服务来获取数据并更新系列(在钻取事件中)

drilldown: function(e) {
  .....
  // Service call to get data for the chart 
  clientObj.getAggData(srcTbl, fields, function(res) {

  // data returned from service is set to the chart series
  chart.addSeriesAsDrilldown(e.point, res);

  }, nextLevel, filterStr);
}

这部分工作正常。我想在我向上钻取时做类似的事情。我想调用服务并获取顶级系列的数据,这些数据必须在图表对象的'drillup'事件中完成。

目前正在发生的事情是存储在chart.drilldownLevels.series中的数据在我钻取时正在进行。如果我尝试使用addSeries API,它会在chart.drilldownLevels.series中存储的系列之上添加另一个系列。

其他API(如update())也不起作用。

1 个答案:

答案 0 :(得分:1)

您可以使用向上钻取事件并为必要级别分配值

events: {
    drillup: function(e) {
      this.options.series[0].data[0] = {
        name: 'Databases',
        y: 20,
        drilldown: 'dbs'
      }
    }
  }

如果要添加新的数据点,您应该调用this.series[0].setData()

this.series[1].setData([{
            name: 'Dieren',
            y: 5,
            drilldown: 'animals'
          }, {
            name: 'Fruit',
            y: 2,
            drilldown: 'fruits'
          }, {
            name: "Auto's",
            y: 4
          }, {
            name: "test's",
            y: 4
          }], false, false);

<强> DEMO

<强> DEMO USING CUSTOM Button