使用向下钻取系列更改图表类型

时间:2014-07-17 08:25:56

标签: javascript highcharts drilldown

我的钻取图表存在问题..

以下是链接:http://jsfiddle.net/sSLnn/3/

    chartfunc = function()
 {
var column = document.getElementById('column');
var bar = document.getElementById('bar');
var pie = document.getElementById('pie');
var line = document.getElementById('line');


if(column.checked)
{

    options.chart.renderTo = 'container';
    options.chart.type = 'column';
    var chart1 = new Highcharts.Chart(options);
}
else if(bar.checked)
{
    options.chart.renderTo = 'container';
    options.chart.type = 'bar';
    var chart1 = new Highcharts.Chart(options);

}
else if(pie.checked)
{
    options.chart.renderTo = 'container';
    options.chart.type = 'pie';
    var chart1 = new Highcharts.Chart(options);
}
else
{
    options.chart.renderTo = 'container';
    options.chart.type = 'line';
    var chart1 = new Highcharts.Chart(options);
}

}

在我的图表中,我可以使用4个单选按钮成功更改其类型,但是当我处于向下钻取系列状态时,然后更改它将加载到原始系列状态的图表类型。当我更改类型时是否可能图表如果我处于向下钻取系列状态,它将改变类型,数据仍将保留?

1 个答案:

答案 0 :(得分:4)

要将任何系列更改为条形图,您需要销毁并重新创建图表(正如您现在所做的那样)。在销毁图表并创建新图表时,我们不再有关于向下钻取的信息。您需要存储钻取的系列,并在重新创建图表后调用chart.addSeriesAsDrilldown(e.point, series);

对于所有其他类型,您可以使用chart.series[0].update({ type: new_type });,如下所示:http://jsfiddle.net/sSLnn/4/