能否动态刷新HighCharts的下钻功能?

3

我想刷新一个HighCharts Drilldown。为此,我已经按照通常的方式设置了一系列和钻取。

填充钻取第一级的代码没问题,但第二级没有被更改为([10,5,1])。代码如下:

 $('#button').click(function() {
    chart.series[0].setData([10],[10,5,1] ); 
 });   
});

这里有一个jsfiddle示例:

https://jsfiddle.net/bd1v6tew/3/

1个回答

0
你可以通过 chart.options.drilldown.series 访问/覆盖数据。例如:
 $('#button').click(function() {
        // force highchart to close a open drilldown
        // otherwise the data will not be updated, or 
        // chart will not work any longer
        if (chart.drilldownLevels.length > 0) {
            chart.drillUp();
        }
        chart.series[0].setData([10]); 
        // structure to replace the old data
        var newdrilldown = [{
            id: 'item1',
            data: [
                {
                    name: 'Condition 1',
                  y: 10
                },
                 {
                    name: 'Condition 2',
                  y: 5,
                },
                {
                    name: 'Condition 3',
                  y: 1,
                }]
        }];
        // here you access your drilldown
        chart.options.drilldown.series = newdrilldown; 
});

如果您不想替换整个块,而只是其中的数据,可以使用 chart.options.drilldown.series[0].data = [] 等等。

您更新后的 fiddle 在这里


刷新数据后,钻取功能不再起作用了吗? - user813813
@user813813 我想我找到了你的意思,如果你在展开下钻时添加/操作数据,Highcharts会停止工作 - 你必须先关闭它,参见更新后的答案和fiddle。 - axel.michel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接