采用以下简化示例:
<!DOCTYPE html>
<html>
<head>
<script type='text/javascript'
src='https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js'></script>
<script type='text/javascript'>
$(function () {
$('#container').highcharts({
chart: {
type: 'bar'
},
xAxis: {
categories: ['a','b','c','d','e','f','g','h','i']
},
series: [
{data: [20, 0, 100, 0.1, 150, 20, 30, 40, 300]},
{data: [15, 0, 140, 1, 15, 5, 3, 4, 30]}
]
},function(chart){
chart.series[0].data[0].remove(false);
chart.series[1].data[0].remove(false);
chart.redraw();
}
);
});
</script>
</head>
<body>
<script src="http://code.highcharts.com/highcharts.js"></script>
<div id="container" style="height: 400px"></div>
</body>
</html>
这可以按预期工作,并删除系列中的第一个数据点以及标签。
但是,您注意到两个系列中的第二个数据值都是0,这是我要删除数据点和标签的数据。如果我将代码更改为:
chart.series[0].data[1].remove(false);
chart.series[1].data[1].remove(false);
这不按预期工作。我将如何实现这一点...基本上,如果所有系列的数据点都为零,我需要删除该数据和标签并将所有内容都移除?