Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript HighCharts:使用'时,当值为零时隐藏工具提示;split:true';_Javascript_Highcharts - Fatal编程技术网

Javascript HighCharts:使用'时,当值为零时隐藏工具提示;split:true';

Javascript HighCharts:使用'时,当值为零时隐藏工具提示;split:true';,javascript,highcharts,Javascript,Highcharts,我有一个图表如下: new Highcharts.Chart({ chart: { renderTo: 'container', type: 'line' }, title: { text: 'Monthly Average Temperature' }, xAxis: { categories: ['aa', '

我有一个图表如下:

    new Highcharts.Chart({
        chart: {
            renderTo: 'container',
            type: 'line'
        },
        title: {
            text: 'Monthly Average Temperature'
        },
        xAxis: {
            categories: ['aa', 'bb', 'cc']
        },
        yAxis: {
            title: {
                text: 'Infor'
            }
        },
        tooltip: {
                split: true,
        },
        plotOptions: {
            line: {
                dataLabels: {
                    enabled: true
                }
            }
        },
        series: [{
            name: 'a',
            data: [1, 0, 2]
        }, {
            name: 'b',
            data: [0, 3, 5]
        }]
    });
我使用了config:tooltip:{split:true}

如果值为零,我想隐藏工具提示

示例:名为class='a'的系列将隐藏第二个工具提示,但名为class='b'的系列仍将显示

或者,名为class='b'的系列将隐藏第一个工具提示,但名为class='a'的系列仍将显示


多谢各位

您可以包装
Tooltip.prototype.renderSplit(点、标签)
方法,因此它不会为值等于0的点创建工具提示

包装器可能如下所示(它仅隐藏值为0的第一个点):

Highcharts.wrap(Highcharts.Tooltip.prototype,'renderSplit',函数(p,标签,点){
变量i=0,len=points.length,point,label,modified=false;
对于(;i

示例:

隐藏可在下面代码中使用的图表系列中所有
0
值的工具提示

Highcharts.wrap(Highcharts.Tooltip.prototype, 'renderSplit', function (p, labels, points) {
var modified = false;
if  (modified== false){
var i = points.length;
while (i--) {

    if (points[i].y  == 0) {
        points.splice(i, 1);
        labels.splice(i+1, 1);
    }
  }
}    
modified =true;
p.call(this, labels, points);

});
我还创建了JSFIDLE


希望它能帮助其他希望从系列中删除所有零以隐藏工具提示的人。

感谢您的帮助!:)如何删除所有值为“0”的系列?
Highcharts.wrap(Highcharts.Tooltip.prototype, 'renderSplit', function (p, labels, points) {
var modified = false;
if  (modified== false){
var i = points.length;
while (i--) {

    if (points[i].y  == 0) {
        points.splice(i, 1);
        labels.splice(i+1, 1);
    }
  }
}    
modified =true;
p.call(this, labels, points);

});