-
Notifications
You must be signed in to change notification settings - Fork 15
/
buildSankeyGraph3Levels.gs
35 lines (32 loc) · 1.68 KB
/
buildSankeyGraph3Levels.gs
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
function buildSankeyCode(level1,level2,level3) {
let result = "<html>" +
"<body>" +
'<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>' +
'<div id="sankey_multiple" style="width: 3000px; height: 1800px;"></div>' +
'<script type="text/javascript">' +
'google.charts.load("current", {packages:["sankey"]});' +
'google.charts.setOnLoadCallback(drawChart);' +
'function drawChart() {' +
'var data = new google.visualization.DataTable();' +
"data.addColumn('string', 'From');" +
"data.addColumn('string', 'To');" +
"data.addColumn('number', 'Weight');"+
'data.addRows([';
for(let i = 0; i < problems.length;i++){
result += "[ '" + problems[i].toString().replace(/[&\/\\#,+()$~%.'":*?<>{}]/g,'')
+ "', '" + jtbds[i].toString().replace(/[&\/\\#,+()$~%.'":*?<>{}]/g,'') + "', " + 1 + "],";
if ( i > problems.length-1){
result += "[ '" + jtbds[i].toString().replace(/[&\/\\#,+()$~%.'":*?<>{}]/g,'')
+ "', '" + deliverables[i].toString().replace(/[&\/\\#,+()$~%.'":*?<>{}]/g,'') + "', " + 1 + "]";
}else{
result += "[ '" + jtbds[i].toString().replace(/[&\/\\#,+()$~%.'":*?<>{}]/g,'')
+ "', '" + deliverables[i].toString().replace(/[&\/\\#,+()$~%.'":*?<>{}]/g,'') + "', " + 1 + "],";
}
}
result += "]);" +
"var options = {width: 1800,};" +
"var chart = new google.visualization.Sankey(document.getElementById('sankey_multiple'));" +
"chart.draw(data, options);" +
"}</script></body></html>";
return result;
}