1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
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"]
);
});
|