如果数据>禁用标记。 1在highcharts

时间:2013-11-26 09:46:33

标签: highcharts

如何在数据时禁用标记> 1插入新数据后?这让我很困惑..

在这种情况下,我想制作一个成长图表(图表示例来源:CDC-年龄百分位数的权重)

我应该使用它吗?

if(dataChartWeight.length > 1)
{
   chart.series[19].update({
     marker: {
       enabled: false
     }
   }, true);
}
if(dataChartLength.length > 1)
{
   chart.series[18].update({
     marker: {
       enabled: false
     }
   }, true);
}

3 个答案:

答案 0 :(得分:0)

通常不能为单点禁用标记,但您可以使用隐藏SVG元素的变通方法。

$.each(chart.series[0].data, function (point, i) {
            if(this.y <10) {
                this.graphic.destroy();
            }
});

参见示例:http://jsfiddle.net/Y5HzV/2/

答案 1 :(得分:0)

您可以隐藏标记,而不是尝试禁用标记...

marker: {
   radius:0,
   lineWidth:0,
}

答案 2 :(得分:0)

塞巴斯蒂安的answer很好但是如果您使用多个系列,使用自定义工具提示或重新绘制图表时,修复会变得有点复杂。而不是使用destroy();在图形上,我用hide();

我将它包装在一个函数中,然后在第一次加载时调用该函数,并在重绘事件上调用该函数。它首先循环遍历每个系列,然后遍历数据以“隐藏”标记,其中零作为值。

$(function () {

    function hideZeroDots(chart) {
        $.each(chart.series, function (series) {
            $.each(chart.series[series].data, function () {
                if(this.y === 0 && this.graphic) {
                    this.graphic.hide();
                }
            });
        });
    }

    $('#container').highcharts({        
        title: {
            text: 'Hide Zero Dots'
        },
        chart: {
            events: {
                redraw: function () {
                    hideZeroDots(this);
                }
            }
        },
        tooltip: {
                useHTML: true,
                hideDelay: 0,
                shared: true,
                backgroundColor: '#fff',
                borderColor: '#eee',
                shadow: false,
                crosshairs: {
                    width: 2,
                    color: 'gray',
                    dashStyle: 'shortdot'
                }
        }, 
        series: [{
                name: 'responses',          
                data: [0, 0, 0, 0, 0, 0, 36.5, 33.3, 0, 23.9, 0]
            }, {
                name: 'views',
                data: [0, 0, 0, 0, 0, 0, 26.5, 23.3, 0, 13.9, 0]
            }]
        }, hideZeroDots);
});

请参阅Demo