dikplhd/public/assets/js/pages/apex-bubble.js

210 lines
4.1 KiB
JavaScript

/**
* Theme: Attex - Responsive Tailwind CSS 3 Admin Dashboard
* Author: Coderthemes
* Module/App: Apex Bubble Charts
*/
//
// SIMPLE BUBBLE CHART
//
/*
// this function will generate output in this format
// data = [
[timestamp, 23],
[timestamp, 33],
[timestamp, 12]
...
]
*/
function generateData(baseval, count, yrange) {
var i = 0;
var series = [];
while (i < count) {
var x = Math.floor(Math.random() * (750 - 1 + 1)) + 1;;
var y = Math.floor(Math.random() * (yrange.max - yrange.min + 1)) + yrange.min;
var z = Math.floor(Math.random() * (75 - 15 + 1)) + 15;
series.push([x, y, z]);
baseval += 86400000;
i++;
}
return series;
}
var colors = ["#3e60d5", "#ffbc00", "#fa5c7c"];
var dataColors = document.querySelector("#simple-bubble").dataset.colors;
if (dataColors) {
colors = dataColors.split(",");
}
var options = {
chart: {
height: 380,
type: 'bubble',
toolbar: {
show: false
}
},
dataLabels: {
enabled: false
},
series: [{
name: 'Bubble 1',
data: generateData(new Date('11 Feb 2017 GMT').getTime(), 20, {
min: 10,
max: 60
})
},
{
name: 'Bubble 2',
data: generateData(new Date('11 Feb 2017 GMT').getTime(), 20, {
min: 10,
max: 60
})
},
{
name: 'Bubble 3',
data: generateData(new Date('11 Feb 2017 GMT').getTime(), 20, {
min: 10,
max: 60
})
}
],
fill: {
opacity: 0.8,
gradient: {
enabled: false
}
},
colors: colors,
xaxis: {
tickAmount: 12,
type: 'category',
},
yaxis: {
max: 70
},
grid: {
borderColor: '#f1f3fa',
padding: {
bottom: 5
}
},
legend: {
offsetY: 7,
}
}
var chart = new ApexCharts(
document.querySelector("#simple-bubble"),
options
);
chart.render();
//
// 3D BUBBLE CHART
//
/*
// this function will generate output in this format
// data = [
[timestamp, 23],
[timestamp, 33],
[timestamp, 12]
...
]
*/
function generateData1(baseval1, count, yrange) {
var i = 0;
var series = [];
while (i < count) {
//var x =Math.floor(Math.random() * (750 - 1 + 1)) + 1;;
var y = Math.floor(Math.random() * (yrange.max - yrange.min + 1)) + yrange.min;
var z = Math.floor(Math.random() * (75 - 15 + 1)) + 15;
series.push([baseval1, y, z]);
baseval1 += 86400000;
i++;
}
return series;
}
var colors = ["#3e60d5", "#47ad77", "#fa5c7c", "#39afd1"];
var dataColors = document.querySelector("#second-bubble").dataset.colors;
if (dataColors) {
colors = dataColors.split(",");
}
var options2 = {
chart: {
height: 380,
type: 'bubble',
toolbar: {
show: false
}
},
dataLabels: {
enabled: false
},
series: [{
name: 'Product 1',
data: generateData1(new Date('11 Feb 2017 GMT').getTime(), 20, {
min: 10,
max: 60
})
},
{
name: 'Product 2',
data: generateData1(new Date('11 Feb 2017 GMT').getTime(), 20, {
min: 10,
max: 60
})
},
{
name: 'Product 3',
data: generateData1(new Date('11 Feb 2017 GMT').getTime(), 20, {
min: 10,
max: 60
})
},
{
name: 'Product 4',
data: generateData1(new Date('11 Feb 2017 GMT').getTime(), 20, {
min: 10,
max: 60
})
}
],
fill: {
type: 'gradient',
},
colors: colors,
xaxis: {
tickAmount: 12,
type: 'datetime',
labels: {
rotate: 0,
}
},
yaxis: {
max: 70
},
legend: {
offsetY: 7,
},
grid: {
borderColor: '#f1f3fa',
padding: {
bottom: 5
}
}
}
var chart = new ApexCharts(
document.querySelector("#second-bubble"),
options2
);
chart.render();