JavaScript
setTimeout(function(){
dataForeCast = [{
date : "2018/03/18",
actual : 58,
predict : 60
},{
date : "2018/03/19",
actual : 42,
predict : 48
},{
date : "2018/03/20",
actual : 56,
predict : 50
},{
date : "2018/03/21",
actual : 58,
predict : 60
},{
date : "2018/03/22",
actual : 42,
predict : 48
},{
date : "2018/04/23",
actual : 50,
predict : 50
},{
date : "2018/04/24",
actual : 40,
predict : 41
},{
date : "2018/04/25",
actual : 35,
predict : 32
},{
date : "2018/04/26",
actual : 0,
predict : 41
},{
date : "2018/04/27",
actual : 0,
predict : 48
},{
date : "2018/04/28",
actual : 0,
predict : 48
}];
//update(dataForeCast);
}, 6000);
var dataForeCast = [{
date : "2018/04/18",
actual : 58,
predict : 60
},{
date : "2018/04/19",
actual : 42,
predict : 48
},{
date : "2018/04/20",
actual : 56,
predict : 50
},{
date : "2018/04/21",
actual : 58,
predict : 60
},{
date : "2018/04/22",
actual : 42,
predict : 48
},{
date : "2018/04/23",
actual : 50,
predict : 50
},{
date : "2018/04/24",
actual : 40,
predict : 41
},{
date : "2018/04/25",
actual : 35,
predict : 32
},{
date : "2018/04/26",
actual : 0,
predict : 41
},{
date : "2018/04/27",
actual : 0,
predict : 48
},{
date : "2018/04/28",
actual : 0,
predict : 48
}];
var x, y, svg, todayParse, width, height,divTooltip,zoom, brush ,idleTimeout, svg1,
idleDelay = 350;
init();
var parseTime = d3.timeParse("%Y/%m/%d");
function init(){
var w = $("#consmForecast").width();
var margin = {top: 20, right: 50, bottom:45, left: 50};
width = w - margin.left - margin.right;
height = 330 - margin.top - margin.bottom;
brush = d3.brush().on("end", brushended);
svg1 = d3.select("#consmForecast").append('svg').attr("id","lineConsm")
.attr("preserveAspectRatio", "xMinYMin meet")
.attr("viewBox", "0 0 "+width+" "+330);
svg = svg1.append("g")
.attr("transform",
"translate(" +...