我有一个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()函数来获取图表,但这也不起作用。
答案 0 :(得分:1)
找到一个解决方案,不确定为什么series [0] .show()和.hide()不起作用,但另一种方法是直接执行这些函数所做的事情。
$scope.chartConfig.series[0].visible = true
$scope.chartConfig.series[0].visible = false
以上代码完美无缺。