系列和类别数据不动态更改


Series and categories data not changing dynamically

我有这两个小提琴——第一个和第二个。

在我写的第一篇文章中-

var chart = $('#container').highcharts();
chart.xAxis[0].setCategories(['J', 'F', 'M', 'A', 'N']);

这个代码在第一个if块内,在第二个if块中,我已经把它写在了一个不同的if块中。

我的疑问是,为什么只有在第二个选项中,在选择数据集B 时类别才会发生变化

请引导。

添加此-

$("#list").on('change', function(){
      var selVal = $("#list").val();
    if(selVal == "B")
    {
    var chart = $('#container').highcharts();
    chart.xAxis[0].setCategories(['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D']);
    }
});

这是fiddle-fiddle

您可以完全删除按钮并执行以下操作:

var options = {
    chart: {
        renderTo: 'container',
        defaultSeriesType: 'column'
    },
            xAxis: {
            categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May']
        },
    series: [{name: 'A', data: [1,2,3,2,1]}]
};
var chart = new Highcharts.Chart(options);
$("#list").on('change', function(){
    var options = {
    chart: {
        renderTo: 'container',
        defaultSeriesType: 'column'
    },
            xAxis: {
            categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May']
        },
    series: [{name: 'A', data: [1,2,3,2,1]}]
};
var chart = new Highcharts.Chart(options);
    //alert('f')
    var selVal = $("#list").val();
    if(selVal == "A" || selVal == '')
    {
        options.series = [{name: 'A', data: [1,2,3,2,1]}]
    }
    else if(selVal == "B")
    {
        options.series = [{name: 'B', data: [3,2,1,2,3]}]
         chart.xAxis[0].setCategories(['r', 'F', 'M', 'A', 'M']);
    }
    else if(selVal == "C")
    {
        options.series = [{name: 'C', data: [5,4,8,7,6]}]
    } 
    else
    {
        options.series = [{name: 'D', data: [4,7,9,6,2]}]
    }  
    var chart = new Highcharts.Chart(options);    
});