-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbar_chart.js
94 lines (77 loc) · 2.75 KB
/
bar_chart.js
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
looker.plugins.visualizations.add( {
create: function(element, config){
element.innerHTML = "";
const vizCanvas = document.createElement('canvas')
vizCanvas.setAttribute("id", "myChartOpaqueBars")
const vizDiv = document.getElementById("vis")
vizDiv.appendChild(vizCanvas)
},
updateAsync: function (data, element, config, queryResponse, details, doneRendering) {
console.log("data",data);
const data_labels = []
const actual_data = []
const keys = Object.keys(data[0])
data.forEach((d)=>{
data_labels.push(d[keys[0]])
actual_data.push(d[keys[1]])
})
console.log("data_labels",data_labels);
console.log("actual_data",actual_data);
// try {
// document.getElementById("0").destroy();
// } catch (error) {
// console.error("Error destroying:", error.message);
// }
// const allElements = document.querySelectorAll('*');
// allElements.forEach(element => {
// console.log(element);
// });
const ctx = document.getElementById("myChartOpaqueBars")
console.log(ctx);
var chart = Chart.getChart("myChartOpaqueBars")
if (typeof chart !== 'undefined') {
console.log("chart defined");
console.log(chart);
chart.clear();
chart.destroy();
console.log("chart destroyed");
} else {
console.log("chart is undefined");
}
myChart = null;
var myChart = new Chart(ctx, {
type: 'bar',
data: {
labels: data_labels,
datasets: [{
label: 'Top 5 Product Category',
data: actual_data,
backgroundColor: [
'rgba(255, 99, 132, 0.2)',
'rgba(54, 162, 235, 0.2)',
'rgba(255, 206, 86, 0.2)',
'rgba(75, 192, 192, 0.2)',
'rgba(153, 102, 255, 0.2)'
],
borderColor: [
'rgba(255, 99, 132, 1)',
'rgba(54, 162, 235, 1)',
'rgba(255, 206, 86, 1)',
'rgba(75, 192, 192, 1)',
'rgba(153, 102, 255, 1)'
],
borderWidth: 1
}]
},
options: {
scales: {
y: {
beginAtZero: true
}
},
}
});
console.log(myChart);
doneRendering()
}
});