如何解决series内data为null或者0所引起的图表线条断层问题

series内有data为null或者为0时所出现图表线条断层问题,导致图表体现不连贯。series数据如下

series: [{
           data: [29.9, 71.5, 106.4, 129.2, null, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]
       }]

效果是这样的:

data为null时出现的断层效果

如果数据为0

series: [{
           data: [29.9, 71.5, 106.4, 129.2, 0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]
       }]

效果会这样,会连接到Y轴的0点上

data为0时出现断层

这样给人的感觉就是在May刻度上值是为0,其实真正的含义是想让没有数据的刻度上不显示数据点,但是保持前后连线平滑。

为了解决以上两个所带来的断层问题,特别推出了connectNulls属性,这个属性就是当数据为null的时候,会自动平滑连接前后两点之间的线条,使图表更加美观,具体完整代码见下所示:

$(function () {
    $('#container').highcharts({
        chart:{
            type:'area'
        },
        title: {
            text: 'highcharts连接线条演示'
        },
        xAxis: {
            categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
        },
        credits: {
         text: 'highcharts的博客',
         href: 'http://www.stepday.com/myblog/?highcharts'
        },
        plotOptions: {
            series: {
                connectNulls: true //连接数据为null的前后点
            }
        },

        series: [{
            data: [29.9, 71.5, 106.4, 129.2, null, 176.0, 135.6, 148.5, 216.4, 194.1, null, 54.4]
        }]

    });
});

最终完美效果图如下所示:

解决图表断层的完美效果

(收集于网络)

如果问题,欢迎大家及时指点,一同交流,共同提高
原文地址:https://www.cnblogs.com/wujidns/p/5390824.html