544 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			JavaScript
		
	
	
			
		
		
	
	
			544 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			JavaScript
		
	
	
| /**
 | |
|  * Theme: Attex - Responsive Tailwind CSS 3 Admin Dashboard
 | |
|  * Author: Coderthemes
 | |
|  * Module/App: Apex Area Charts
 | |
|  */
 | |
| 
 | |
| //
 | |
| // BASIC HEATMAP - SINGLE SERIES
 | |
| //
 | |
| 
 | |
| /*
 | |
| // this function will generate output in this format
 | |
| // data = [
 | |
|     [timestamp, 23],
 | |
|     [timestamp, 33],
 | |
|     [timestamp, 12]
 | |
|     ...
 | |
| ]
 | |
| */
 | |
| function generateData(count, yrange) {
 | |
|     var i = 0;
 | |
|     var series = [];
 | |
|     while (i < count) {
 | |
|         var x = (i + 1).toString();
 | |
|         var y = Math.floor(Math.random() * (yrange.max - yrange.min + 1)) + yrange.min;
 | |
| 
 | |
|         series.push({
 | |
|             x: x,
 | |
|             y: y
 | |
|         });
 | |
|         i++;
 | |
|     }
 | |
|     return series;
 | |
| }
 | |
| 
 | |
| var colors = ["#3e60d5"];
 | |
| var dataColors = document.querySelector("#basic-heatmap").dataset.colors;
 | |
| if (dataColors) {
 | |
|     colors = dataColors.split(",");
 | |
| }
 | |
| var options = {
 | |
|     chart: {
 | |
|         height: 380,
 | |
|         type: 'heatmap',
 | |
|     },
 | |
|     dataLabels: {
 | |
|         enabled: false
 | |
|     },
 | |
|     colors: colors,
 | |
|     series: [{
 | |
|         name: 'Metric 1',
 | |
|         data: generateData(20, {
 | |
|             min: 0,
 | |
|             max: 90
 | |
|         })
 | |
|     },
 | |
|     {
 | |
|         name: 'Metric 2',
 | |
|         data: generateData(20, {
 | |
|             min: 0,
 | |
|             max: 90
 | |
|         })
 | |
|     },
 | |
|     {
 | |
|         name: 'Metric 3',
 | |
|         data: generateData(20, {
 | |
|             min: 0,
 | |
|             max: 90
 | |
|         })
 | |
|     },
 | |
|     {
 | |
|         name: 'Metric 4',
 | |
|         data: generateData(20, {
 | |
|             min: 0,
 | |
|             max: 90
 | |
|         })
 | |
|     },
 | |
|     {
 | |
|         name: 'Metric 5',
 | |
|         data: generateData(20, {
 | |
|             min: 0,
 | |
|             max: 90
 | |
|         })
 | |
|     },
 | |
|     {
 | |
|         name: 'Metric  6',
 | |
|         data: generateData(20, {
 | |
|             min: 0,
 | |
|             max: 90
 | |
|         })
 | |
|     },
 | |
|     {
 | |
|         name: 'Metric 7',
 | |
|         data: generateData(20, {
 | |
|             min: 0,
 | |
|             max: 90
 | |
|         })
 | |
|     },
 | |
|     {
 | |
|         name: 'Metric 8',
 | |
|         data: generateData(20, {
 | |
|             min: 0,
 | |
|             max: 90
 | |
|         })
 | |
|     },
 | |
|     {
 | |
|         name: 'Metric 9',
 | |
|         data: generateData(20, {
 | |
|             min: 0,
 | |
|             max: 90
 | |
|         })
 | |
|     }
 | |
|     ],
 | |
|     xaxis: {
 | |
|         type: 'category',
 | |
|     },
 | |
| 
 | |
| }
 | |
| 
 | |
| var chart = new ApexCharts(
 | |
|     document.querySelector("#basic-heatmap"),
 | |
|     options
 | |
| );
 | |
| 
 | |
| chart.render();
 | |
| 
 | |
| 
 | |
| //
 | |
| // HEATMAP - MULTIPLE SERIES
 | |
| //
 | |
| 
 | |
| /*
 | |
| // this function will generate output in this format
 | |
| // data = [
 | |
|     [timestamp, 23],
 | |
|     [timestamp, 33],
 | |
|     [timestamp, 12]
 | |
|     ...
 | |
| ]
 | |
| */
 | |
| function generateData(count, yrange) {
 | |
| var i = 0;
 | |
| var series = [];
 | |
| while (i < count) {
 | |
|     var x = (i + 1).toString();
 | |
|     var y = Math.floor(Math.random() * (yrange.max - yrange.min + 1)) + yrange.min;
 | |
| 
 | |
|     series.push({
 | |
|         x: x,
 | |
|         y: y
 | |
|     });
 | |
|     i++;
 | |
| }
 | |
| return series;
 | |
| }
 | |
| 
 | |
| var colors = ["#F3B415", "#F27036", "#663F59", "#6A6E94", "#4E88B4", "#00A7C6", "#18D8D8", '#A9D794','#46AF78'];
 | |
| var dataColors = document.querySelector("#multiple-series-heatmap").dataset.colors;
 | |
| if (dataColors) {
 | |
|     colors = dataColors.split(",");
 | |
| }
 | |
| var options = {
 | |
|     chart: {
 | |
|         height: 380,
 | |
|         type: 'heatmap',
 | |
|     },
 | |
|     dataLabels: {
 | |
|         enabled: false
 | |
|     },
 | |
|     colors: colors,
 | |
|     series: [{
 | |
|             name: 'Metric 1',
 | |
|             data: generateData(20, {
 | |
|                 min: 0,
 | |
|                 max: 90
 | |
|             })
 | |
|         },
 | |
|         {
 | |
|             name: 'Metric 2',
 | |
|             data: generateData(20, {
 | |
|                 min: 0,
 | |
|                 max: 90
 | |
|             })
 | |
|         },
 | |
|         {
 | |
|             name: 'Metric 3',
 | |
|             data: generateData(20, {
 | |
|                 min: 0,
 | |
|                 max: 90
 | |
|             })
 | |
|         },
 | |
|         {
 | |
|             name: 'Metric 4',
 | |
|             data: generateData(20, {
 | |
|                 min: 0,
 | |
|                 max: 90
 | |
|             })
 | |
|         },
 | |
|         {
 | |
|             name: 'Metric 5',
 | |
|             data: generateData(20, {
 | |
|                 min: 0,
 | |
|                 max: 90
 | |
|             })
 | |
|         },
 | |
|         {
 | |
|             name: 'Metric 6',
 | |
|             data: generateData(20, {
 | |
|                 min: 0,
 | |
|                 max: 90
 | |
|             })
 | |
|         },
 | |
|         {
 | |
|             name: 'Metric 7',
 | |
|             data: generateData(20, {
 | |
|                 min: 0,
 | |
|                 max: 90
 | |
|             })
 | |
|         },
 | |
|         {
 | |
|             name: 'Metric 8',
 | |
|             data: generateData(20, {
 | |
|                 min: 0,
 | |
|                 max: 90
 | |
|             })
 | |
|         },
 | |
|         {
 | |
|             name: 'Metric 9',
 | |
|             data: generateData(20, {
 | |
|                 min: 0,
 | |
|                 max: 90
 | |
|             })
 | |
|         }
 | |
|     ],
 | |
|     xaxis: {
 | |
|         type: 'category',
 | |
|     },
 | |
| }
 | |
| 
 | |
| var chart = new ApexCharts(
 | |
| document.querySelector("#multiple-series-heatmap"),
 | |
| options
 | |
| );
 | |
| 
 | |
| chart.render();
 | |
| 
 | |
| 
 | |
| //
 | |
| // HEATMAP - COLOR RANGE
 | |
| //
 | |
| 
 | |
| /*
 | |
| // this function will generate output in this format
 | |
| // data = [
 | |
|     [timestamp, 23],
 | |
|     [timestamp, 33],
 | |
|     [timestamp, 12]
 | |
|     ...
 | |
| ]
 | |
| */
 | |
| function generateData(count, yrange) {
 | |
| var i = 0;
 | |
| var series = [];
 | |
| while (i < count) {
 | |
|     var x = (i + 1).toString();
 | |
|     var y = Math.floor(Math.random() * (yrange.max - yrange.min + 1)) + yrange.min;
 | |
| 
 | |
|     series.push({
 | |
|         x: x,
 | |
|         y: y
 | |
|     });
 | |
|     i++;
 | |
| }
 | |
| return series;
 | |
| }
 | |
| var colors = ["#fa6767","#f9bc0d","#44badc","#42d29d"];
 | |
| var dataColors = document.querySelector("#color-range-heatmap").dataset.colors;
 | |
| if (dataColors) {
 | |
|     colors = dataColors.split(",");
 | |
| }
 | |
| var options = {
 | |
| chart: {
 | |
|     height: 380,
 | |
|     type: 'heatmap',
 | |
| },
 | |
| plotOptions: {
 | |
|     heatmap: {
 | |
|         shadeIntensity: 0.5,
 | |
| 
 | |
|         colorScale: {
 | |
|             ranges: [{
 | |
|                     from: -30,
 | |
|                     to: 5,
 | |
|                     name: 'Low',
 | |
|                     color: colors[0]
 | |
|                 },
 | |
|                 {
 | |
|                     from: 6,
 | |
|                     to: 20,
 | |
|                     name: 'Medium',
 | |
|                     color: colors[1]
 | |
|                 },
 | |
|                 {
 | |
|                     from: 21,
 | |
|                     to: 45,
 | |
|                     name: 'High',
 | |
|                     color: colors[2]
 | |
|                 },
 | |
|                 {
 | |
|                     from: 46,
 | |
|                     to: 55,
 | |
|                     name: 'Extreme',
 | |
|                     color: colors[3]
 | |
|                 }
 | |
|             ]
 | |
|         }
 | |
|     }
 | |
| },
 | |
| dataLabels: {
 | |
|     enabled: false
 | |
| },
 | |
| series: [{
 | |
|         name: 'Jan',
 | |
|         data: generateData(20, {
 | |
|             min: -30,
 | |
|             max: 55
 | |
|         })
 | |
|     },
 | |
|     {
 | |
|         name: 'Feb',
 | |
|         data: generateData(20, {
 | |
|             min: -30,
 | |
|             max: 55
 | |
|         })
 | |
|     },
 | |
|     {
 | |
|         name: 'Mar',
 | |
|         data: generateData(20, {
 | |
|             min: -30,
 | |
|             max: 55
 | |
|         })
 | |
|     },
 | |
|     {
 | |
|         name: 'Apr',
 | |
|         data: generateData(20, {
 | |
|             min: -30,
 | |
|             max: 55
 | |
|         })
 | |
|     },
 | |
|     {
 | |
|         name: 'May',
 | |
|         data: generateData(20, {
 | |
|             min: -30,
 | |
|             max: 55
 | |
|         })
 | |
|     },
 | |
|     {
 | |
|         name: 'Jun',
 | |
|         data: generateData(20, {
 | |
|             min: -30,
 | |
|             max: 55
 | |
|         })
 | |
|     },
 | |
|     {
 | |
|         name: 'Jul',
 | |
|         data: generateData(20, {
 | |
|             min: -30,
 | |
|             max: 55
 | |
|         })
 | |
|     },
 | |
|     {
 | |
|         name: 'Aug',
 | |
|         data: generateData(20, {
 | |
|             min: -30,
 | |
|             max: 55
 | |
|         })
 | |
|     },
 | |
|     {
 | |
|         name: 'Sep',
 | |
|         data: generateData(20, {
 | |
|             min: -30,
 | |
|             max: 55
 | |
|         })
 | |
|     }
 | |
| ],
 | |
| 
 | |
| }
 | |
| 
 | |
| var chart = new ApexCharts(
 | |
| document.querySelector("#color-range-heatmap"),
 | |
| options
 | |
| );
 | |
| 
 | |
| chart.render();
 | |
| 
 | |
| 
 | |
| //
 | |
| // HEATMAP - RANGE WITHOUT SHADES
 | |
| //
 | |
| 
 | |
| /*
 | |
| // this function will generate output in this format
 | |
| // data = [
 | |
|     [timestamp, 23],
 | |
|     [timestamp, 33],
 | |
|     [timestamp, 12]
 | |
|     ...
 | |
| ]
 | |
| */
 | |
| function generateData(count, yrange) {
 | |
| var i = 0;
 | |
| var series = [];
 | |
| while (i < count) {
 | |
|     var x = (i + 1).toString();
 | |
|     var y = Math.floor(Math.random() * (yrange.max - yrange.min + 1)) + yrange.min;
 | |
| 
 | |
|     series.push({
 | |
|         x: x,
 | |
|         y: y
 | |
|     });
 | |
|     i++;
 | |
| }
 | |
| return series;
 | |
| }
 | |
| 
 | |
| var colors = ["#39afd1","#47ad77"];
 | |
| var dataColors = document.querySelector("#rounded-heatmap").dataset.colors;
 | |
| if (dataColors) {
 | |
|     colors = dataColors.split(",");
 | |
| }
 | |
| var options = {
 | |
|     chart: {
 | |
|         height: 380,
 | |
|         type: 'heatmap',
 | |
|     },
 | |
|     stroke: {
 | |
|         width: 0
 | |
|     },
 | |
|     plotOptions: {
 | |
|         heatmap: {
 | |
|             radius: 30,
 | |
|             enableShades: false,
 | |
|             colorScale: {
 | |
|                 ranges: [{
 | |
|                         from: 0,
 | |
|                         to: 50,
 | |
|                         color: colors[0]
 | |
|                     },
 | |
|                     {
 | |
|                         from: 51,
 | |
|                         to: 100,
 | |
|                         color: colors[1]
 | |
|                     },
 | |
|                 ],
 | |
|             },
 | |
| 
 | |
|         }
 | |
|     },
 | |
|     colors: colors,
 | |
|     dataLabels: {
 | |
|         enabled: true,
 | |
|         style: {
 | |
|             colors: ['#fff']
 | |
|         }
 | |
|     },
 | |
|     series: [{
 | |
|             name: 'Metric1',
 | |
|             data: generateData(20, {
 | |
|                 min: 0,
 | |
|                 max: 90
 | |
|             })
 | |
|         },
 | |
|         {
 | |
|             name: 'Metric2',
 | |
|             data: generateData(20, {
 | |
|                 min: 0,
 | |
|                 max: 90
 | |
|             })
 | |
|         },
 | |
|         {
 | |
|             name: 'Metric3',
 | |
|             data: generateData(20, {
 | |
|                 min: 0,
 | |
|                 max: 90
 | |
|             })
 | |
|         },
 | |
|         {
 | |
|             name: 'Metric4',
 | |
|             data: generateData(20, {
 | |
|                 min: 0,
 | |
|                 max: 90
 | |
|             })
 | |
|         },
 | |
|         {
 | |
|             name: 'Metric5',
 | |
|             data: generateData(20, {
 | |
|                 min: 0,
 | |
|                 max: 90
 | |
|             })
 | |
|         },
 | |
|         {
 | |
|             name: 'Metric6',
 | |
|             data: generateData(20, {
 | |
|                 min: 0,
 | |
|                 max: 90
 | |
|             })
 | |
|         },
 | |
|         {
 | |
|             name: 'Metric7',
 | |
|             data: generateData(20, {
 | |
|                 min: 0,
 | |
|                 max: 90
 | |
|             })
 | |
|         },
 | |
|         {
 | |
|             name: 'Metric8',
 | |
|             data: generateData(20, {
 | |
|                 min: 0,
 | |
|                 max: 90
 | |
|             })
 | |
|         },
 | |
|         {
 | |
|             name: 'Metric8',
 | |
|             data: generateData(20, {
 | |
|                 min: 0,
 | |
|                 max: 90
 | |
|             })
 | |
|         }
 | |
|     ],
 | |
| 
 | |
|     xaxis: {
 | |
|         type: 'category',
 | |
|     },
 | |
|     grid: {
 | |
|         borderColor: '#f1f3fa'
 | |
|     }
 | |
| }
 | |
| 
 | |
| var chart = new ApexCharts(
 | |
| document.querySelector("#rounded-heatmap"),
 | |
| options
 | |
| );
 | |
| 
 | |
| chart.render(); |