From c42d8e7ac182f206b20bf52ace0809fc988e8f5a Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Tue, 31 Mar 2015 17:17:39 +0100 Subject: Add Southampton University Map page --- projects/osm/net.cbaines.suma/script.js | 73 +++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 projects/osm/net.cbaines.suma/script.js (limited to 'projects/osm/net.cbaines.suma/script.js') diff --git a/projects/osm/net.cbaines.suma/script.js b/projects/osm/net.cbaines.suma/script.js new file mode 100644 index 0000000..768acec --- /dev/null +++ b/projects/osm/net.cbaines.suma/script.js @@ -0,0 +1,73 @@ + +function parseDate(str) { + var y = str.substr(0,4), + m = str.substr(4,2) - 1, + d = str.substr(6,2); + var D = new Date(y,m,d); + return (D.getFullYear() == y && D.getMonth() == m && D.getDate() == d) ? D : null; +} + +function getData(csv, callback) { + Papa.parse(csv, { + download: true, + comments: "#", + complete: callback + }); +} + +function graph(div, results, cols, labels) { + var data = []; + + for (var rowIndex in results.data) { + var row = results.data[rowIndex]; + + var createdRow = []; + + var date = parseDate(row[0]); + + if (date == null) { + continue; + } + + createdRow.push(date); + + for (var colIndex in cols) { + var col = cols[colIndex]; + + if (row.length < col) { + continue; + } else { + createdRow.push(parseInt(row[col], 10)); + } + } + + data.push(createdRow); + } + + data.reverse(); + + var dygraph = new Dygraph(div, + data, + { + labels: labels, + width: 860 + } + ); +} + +getData("stats/net.cbaines.suma_overall_installs.csv", function(results) { + graph( + document.getElementById("current"), + results, + [1], + ["Date", "Current Instalations by Device"] + ); + + graph( + document.getElementById("total"), + results, + [6], + ["Date", "Total User Installs"] + ); +}); + -- cgit v1.2.3