61 lines
2.4 KiB
JavaScript
61 lines
2.4 KiB
JavaScript
google.charts.load('current', { 'packages': ['bar'] });
|
|
google.charts.setOnLoadCallback(drawChart);
|
|
|
|
function drawChart() {
|
|
var data = google.visualization.arrayToDataTable([
|
|
['Year', 'MSSQL', 'LDAP', 'UDP', 'Portmap', 'NetBios', 'BENIGN', 'Syn', 'UDPLag'],
|
|
['0', 0, 0, 0, 0, 0, 0, 0, 0], // Initial values are 0
|
|
['1', 0, 0, 0, 0, 0, 0, 0, 0],
|
|
['2', 0, 0, 0, 0, 0, 0, 0, 0]
|
|
]);
|
|
|
|
var options = {
|
|
chart: {
|
|
title: 'Dynamically calculating the statistical distribution of attack vectors (normal distribution, skew distribution)',
|
|
},
|
|
vAxis: {
|
|
title: ' ',
|
|
viewWindow: {
|
|
min: 0,
|
|
max: 100
|
|
}
|
|
},
|
|
height:350,
|
|
hAxis: { title: ' ' },
|
|
backgroundColor: '#0c212b',
|
|
tooltip: { trigger: 'none' },
|
|
colors: ['#0CB0B0', '#3F69B0', '#0C7DB1', '#0CB079', '#7276B0']
|
|
};
|
|
|
|
var chart = new google.charts.Bar(document.getElementById('columnInThreeChart'));
|
|
|
|
function updateData() {
|
|
var deviceId = localStorage.getItem('deviceId');
|
|
// Check deviceId
|
|
if (deviceId === 'xAq9W1PO5rmAuuQ' || deviceId === 'wzI0R1JqWqV0Lyi') {
|
|
// Generate random data if deviceId matches
|
|
for (var i = 0; i < 3; i++) {
|
|
for (var j = 1; j < 9; j++) {
|
|
data.setValue(i, j, Math.floor(Math.random() * 10)); // Random value between 0 and 80
|
|
}
|
|
}
|
|
} else {
|
|
// Set data to 0 if deviceId does not match
|
|
for (var i = 0; i < 3; i++) {
|
|
for (var j = 1; j < 9; j++) {
|
|
data.setValue(i, j, 0);
|
|
}
|
|
}
|
|
}
|
|
|
|
// Draw chart
|
|
chart.draw(data, google.charts.Bar.convertOptions(options));
|
|
}
|
|
|
|
// Initial draw
|
|
updateData();
|
|
|
|
// Update data every 2 seconds
|
|
setInterval(updateData, 2000);
|
|
}
|