6

为 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 轴外,一切正常。

知道这里有什么问题吗?

4

1 回答 1

9

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

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

更新应该是:

    $scope.chartConfig.xAxis.categories = ['new bar title', 'new bar title2'];
于 2014-01-17T21:20:46.443 回答