項目應用到echarts圖表組件、官網的demo中出現空數據會斷開、經過跟蹤調試、修改echarts.js以下代碼即可實現斷點連線功能(需要將空數據處理成'-'、這樣才能均值):
for (var k = 0; k < dimensions.length; k++) { var dim = dimensions[k]; var dimStorage = storage[dim]; if (dataItem == '-')//遇到空值處理、取前后兩個數據的平均值 { //debugger; var preItem = null, nextItem = null; for (var j = i - 1; j >= 0; j--) {//從當前數組索引往前找數據 var myItem = parseFloat(data.getItem(j)); if (myItem.toString() != 'NaN') { preItem = myItem; break; } } for (var j = i + 1; j < size; j++) { var myItem = parseFloat(data.getItem(j)); if (myItem.toString() != 'NaN') { nextItem = myItem; break; } } if (preItem != null && nextItem!=null) { dataItem = ((preItem + nextItem) / 2).toFixed(2); } else if(preItem != null) { dataItem = preItem; } else if (nextItem != null) { dataItem = nextItem; } } // PENDING NULL is empty or zero dimStorage[i] = dimValueGetter(dataItem, dim, i, k); }