我在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())也不起作用。
答案 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 强>