动态更改Highcharts数据系列类型

Changing Highcharts data series type dynamically

本文关键字:系列 类型 数据 Highcharts 动态      更新时间:2023-09-26

我有多个系列的Highcharts和每个系列的'select'。我的目标是通过"选择"改变系列类型。

$('#ChType').change(function () {
    var series = chart.series[0]
    var newType = $('#ChType').val();
    changeType(series, newType);
})
$('#ChType2').change(function () {
    var series = chart.series[1]
    var newType = $('#ChType2').val();
    changeType(series, newType);
})
function changeType(series, newType) {
    var dataArray = [],
        points = series.data;
    series.chart.addSeries({
        type: newType,
        name: series.name,
        color: series.color,
        data: series.options.data
    }, false);
    alert(series.name);
    series.remove();
}

我知道每次类型改变时,series将从它在数组中的当前位置删除并添加到末尾。目前,我只能更改位于位置序列[0]中的序列。

我如何改变任何其他级数而不仅仅是级数[0]?

我确实在这里看到了类似的问题,但不能完全使它工作。

我在jsFiddle中的示例代码。

您可以使用v3.0 highcharts包含的series.update()方法,该方法允许动态更改图表类型。

http://jsfiddle.net/8Sg8K/1

chart.series[0].update({
                type: "column"
            });

你为什么没有在类似的问题中包含你链接到的循环?

 $('#ChType').change(function(){
     var series;
     for ( i = 0 ; i < chart.series.length ; i++ ) {
            if ( chart.series[i].name == 'MyData1' ) {
                series = chart.series[i];
            }                
        } 
                 //var series = chart.series[0]
                 var newType = series.type == $('#ChType').val() ? $('#ChType').val()

把它放在每个类型的位置- http://jsfiddle.net/waBck/5/