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] }]
效果是这样的:
如果数据为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点上
这样给人的感觉就是在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] }] }); });
最终完美效果图如下所示:
(收集于网络)