Highcharts试图隐藏/显示系列

时间:2015-08-28 09:28:56

标签: javascript angularjs highcharts coffeescript

我有一个Angular webapp,我正在使用Highcarts来显示数据。该图表最初配置如下。在控制器中(我使用Coffeescript)

$scope.chartConfig = {
        options:
            chart:
                type: 'spline'
                plotBackgroundColor: null
            legend:
                enabled: true
            title:
                text: ''
            subtitle:
                text: ''
            exporting:
                url: $config.exportAddress
                width: 1000
        series: [{
             name: ''
            data: [
            ]
            },{
            name: ''
            data: [
            ]
            }]
        loading: false
        xAxis:
            categories: [
            ]
            title:
                text: ''
        yAxis:
            title:
                text: ''
        useHighStocks: false
        size:
            height: 500
    }

使用

显示在HTML中
<div class="panel-body" id="report-display normalchart" ng-if="!productMonthlyChart">
   <highchart id="chart1" config="chartConfig"></highchart>
</div>

使用函数我将数据推送到图表中,如下所示

$scope.chartConfig.series.length = 0
        # Set title and chart time and and name
        $scope.chartConfig.xAxis.categories = ['Build Overview']
        $scope.chartConfig.options.chart.type = 'column'
        $scope.graphName = 'Column Chart'
        $scope.chartConfig.series.push({name: 'Admitted', data: [$scope.fullBuildTotals.admitted]})
        $scope.chartConfig.series.push({name: 'Deprecated', data: [$scope.fullBuildTotals.deprecated]})

我需要能够在图表上显示和隐藏系列,但是我无法使用以下显示或隐藏代码来使其工作

$scope.chartConfig.series[0].show()
$scope.chartConfig.series[0].hide()

我在控制台中收到以下错误

TypeError:$ scope.chartConfig.series [0] .hide不是函数     在Scope。$ scope.showCurrentBuildReportChartData

有谁知道为什么会这样?我还遇到了一些代码,你可以在其中选择包含图表的DIV,在其上调用一个highcharts()函数来获取图表,但这也不起作用。

1 个答案:

答案 0 :(得分:1)

找到一个解决方案,不确定为什么series [0] .show()和.hide()不起作用,但另一种方法是直接执行这些函数所做的事情。

$scope.chartConfig.series[0].visible = true
$scope.chartConfig.series[0].visible = false

以上代码完美无缺。