var chart = null; var time_viz = null; google.load('visualization', '1', {'packages':['annotationchart', 'calendar']}); google.setOnLoadCallback(drawChart); function load_hf_data(chart, date){ var jsonData = $.ajax({ url: "predict/" + date, dataType: "json", async: false }).responseText; // Create our data table out of JSON data loaded from server. var data = new google.visualization.DataTable(jsonData); var options = { table:{ sortAscending: true, sortColumn: 0 }, displayAnnotations: true, displayZoomButtons: true, allValuesSuffix: 'Kwh', displayRangeSelector: false, fill: 30, zoomStartTime: (2016, 04, 20, 00, 00), zoomEndTime: (2016, 04, 20,23, 59) }; chart.draw(data, options); chart.setVisibleChartRange(null, null); $('h2').html('Date: ' + date); //+' Total Consumed: '+' Total wrt Prediction: '+ ''); } function drawChart() { // Instantiate and draw our chart, passing in some options. chart = new google.visualization.AnnotationChart(document.getElementById('chart_div')); time_viz = new google.visualization.Calendar(document.getElementById('chart_cal_div')); load_hf_data(chart, chartdate); var jsonData = $.ajax({ url: "daily_summary", dataType: "json", async: false }).responseText; // Create our data table out of JSON data loaded from server. var data = new google.visualization.DataTable(jsonData); var options = { title: "Energy Consumption", tooltip: {isHtml: true}, height: 500, }; time_viz.draw(data, options); function woo(){ var selection = time_viz.getSelection(); var message = ''; for (var i = 0; i < selection.length; i++) { var item = selection[i]; if (item.row != null && item.column != null) { message += '{row:' + item.row + ',column:' + item.column + '}'; } else if (item.row != null) { message += '{row:' + item.row + '}'; } else if (item.column != null) { message += '{column:' + item.column + '}'; } } if (message == '') { message = 'nothing'; } message += ' date: ' + item.date d = new Date(item.date) load_hf_data(chart, d.getFullYear() + '-' + ((1.0* d.getMonth())+1) + '-' + d.getDate()) } google.visualization.events.addListener(time_viz, 'select', woo) //time_viz.setSelection([{row:0,column:1}]); }