210 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
			
		
		
	
	
			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(); |