2016-07-27 107 views
0

我正在使用Morris.js创建折线图。
数据返回给我这个样子:使用Morris.js折线图,不显示空值的点

[{XValue:1,YValue1:1007,Yvalue2:1014}, 
{XValue:2,YValue1:1023,Yvalue2:1029}, 
{XValue:3,YValue1:0,Yvalue2:1041}, 
{XValue:4,YValue1:0,Yvalue2:1056},...]; 

我不想显示0值,所以我在我的JSON给它莫里斯渲染之前替换为'零的:

for (var i = 0; i < json.length; i++) { 
    if (json[i].YValue1 == 0) { 
     json[i].YValue1 = ''; 
    } 
} 

Morris.Line({ 
    element: 'TotalLoad', 
    data: json, 
    xkey: 'XValue', 
    ykeys: ['YValue1','YValue2'], 
    ymin: 1000, 
    ymax: 3000, 
    parseTime: false, 
    labels: ['Actual', 'Forecast'], 
    events: [hour - 1], 
    eventStrokeWidth: 2, 
    continuousLine: false 
}); 

我的输出如下:Morris Chart

y值没有任何价值,不显示线(这是预期的效果),但问题依然出现在图表的顶部,虽然它是成功的一半切断。该标签显示'NaN',如果我可以消失的话,这对我来说很好!

回答

0

尝试修改此

for (var i = 0; i < json.length; i++) { 
    ... 
     json[i].YValue1 = ''; 
    ... 
} 

null而不是替代:

for (var i = 0; i < json.length; i++) { 
    ... 
     json[i].YValue1 = null; 
    ... 
} 
+0

谢谢你,成功了!该标签还显示“ - ”而不是“NaN”,这也更好。我愚蠢的不要试图在第一个地方... – LandShark

+0

没问题!莫里斯有点奇怪,但它有基础。很高兴我能帮上忙! – adriennetacke