使用angular,highcharts-ng更新图表,高图中的数据

时间:2014-01-17 20:32:53

标签: angularjs highcharts highcharts-ng

尝试使用angular,highcharts-ng的highcharts指令。 https://github.com/pablojim/highcharts-ng

我在更新数据方面遇到了一些问题。更新系列值没有问题。但是我无法更新X轴标题。我这里有一个js-fiddle http://jsfiddle.net/user1572526/3stqK/2/

我的工厂里有chartConfig:

myapp.factory('Chart', function () {
    var chartConfig = {
        options: {
            chart: {
                type: 'column'
            }
        },
        series: [{
            data: [10, 15, 12, 8, 7]
        }],
        xAxis: [{
            categories: ['old bar title', 'old bar title 2 ']
        }],
        title: {
            text: 'Hello'
        },

        loading: false
    }
    return chartConfig;
});

然后我在控制器中公开它:

myapp.controller('myctrl', function ($scope, Chart) {
    $scope.chartConfig = Chart;

最后是一个设置一些新值的函数

$scope.update = function () {
     $scope.chartConfig.title.text = "Setting new title"; //Works    
    $scope.chartConfig.series = [{ //Works
        "name": "Updated data",
            "data": [1, 2, 4, 7, 3]
    }];
    $scope.chartConfig.xAxis = [{ //NOT WORKING
        categories: ['new bar title', 'new bar title2']
    }]
    console.log($scope.chartConfig);
}

除X轴外,一切正常。

知道这里有什么不妥吗?

1 个答案:

答案 0 :(得分:8)

xAxis应该是一个对象而不是一个数组。配置应该像这样设置:

    xAxis: {
        categories: ['old bar title', 'old bar title 2 ']
    }

更新应该是:

    $scope.chartConfig.xAxis.categories = ['new bar title', 'new bar title2'];