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

Using Morris.js line chart, do not show point for empty value

我正在使用 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 中用 '' 替换零,然后再给它 morris 渲染:

 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',如果我能得到消失的点,这对我来说很好!

尝试改变这个

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

替换为null

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