使用Morris.js折线图,不要显示空值

时间:2016-07-27 19:06:46

标签: javascript 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值,所以我在给它morris渲染之前用我的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',如果我可以得到消失的话,这对我来说没问题!

1 个答案:

答案 0 :(得分: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;
     ...
 }