2016-07-27 104 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