我的钻取图表存在问题..
以下是链接: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个单选按钮成功更改其类型,但是当我处于向下钻取系列状态时,然后更改它将加载到原始系列状态的图表类型。当我更改类型时是否可能图表如果我处于向下钻取系列状态,它将改变类型,数据仍将保留?
答案 0 :(得分:4)
要将任何系列更改为条形图,您需要销毁并重新创建图表(正如您现在所做的那样)。在销毁图表并创建新图表时,我们不再有关于向下钻取的信息。您需要存储钻取的系列,并在重新创建图表后调用chart.addSeriesAsDrilldown(e.point, series);
。
对于所有其他类型,您可以使用chart.series[0].update({ type: new_type });
,如下所示:http://jsfiddle.net/sSLnn/4/