rounded.html 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6. <meta http-equiv="X-UA-Compatible" content="ie=edge" />
  7. <title>Simple HeatMap</title>
  8. <link href="../../assets/styles.css" rel="stylesheet" />
  9. <style>
  10. #chart {
  11. max-width: 650px;
  12. margin: 35px auto;
  13. }
  14. </style>
  15. <script>
  16. window.Promise ||
  17. document.write(
  18. '<script src="https://cdn.jsdelivr.net/npm/promise-polyfill@8/dist/polyfill.min.js"><\/script>'
  19. )
  20. window.Promise ||
  21. document.write(
  22. '<script src="https://cdn.jsdelivr.net/npm/eligrey-classlist-js-polyfill@1.2.20171210/classList.min.js"><\/script>'
  23. )
  24. window.Promise ||
  25. document.write(
  26. '<script src="https://cdn.jsdelivr.net/npm/findindex_polyfill_mdn"><\/script>'
  27. )
  28. </script>
  29. <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.min.js"></script>
  30. <script src="https://cdn.jsdelivr.net/npm/apexcharts"></script>
  31. <script src="https://cdn.jsdelivr.net/npm/vue-apexcharts"></script>
  32. <script>
  33. function generateData(count, yrange) {
  34. var i = 0;
  35. var series = [];
  36. while (i < count) {
  37. var x = (i + 1).toString();
  38. var y = Math.floor(Math.random() * (yrange.max - yrange.min + 1)) + yrange.min;
  39. series.push({
  40. x: x,
  41. y: y
  42. });
  43. i++;
  44. }
  45. return series;
  46. }
  47. </script>
  48. </head>
  49. <body>
  50. <div id="app">
  51. <div id="chart">
  52. <apexchart type="heatmap" height="350" :options="chartOptions" :series="series"></apexchart>
  53. </div>
  54. </div>
  55. <!-- Below element is just for displaying source code. it is not required. DO NOT USE -->
  56. <div id="html">
  57. &lt;div id=&quot;chart&quot;&gt;
  58. &lt;apexchart type=&quot;heatmap&quot; height=&quot;350&quot; :options=&quot;chartOptions&quot; :series=&quot;series&quot;&gt;&lt;/apexchart&gt;
  59. &lt;/div&gt;
  60. </div>
  61. <script>
  62. new Vue({
  63. el: '#app',
  64. components: {
  65. apexchart: VueApexCharts,
  66. },
  67. data: {
  68. series: [{
  69. name: 'Metric1',
  70. data: generateData(20, {
  71. min: 0,
  72. max: 90
  73. })
  74. },
  75. {
  76. name: 'Metric2',
  77. data: generateData(20, {
  78. min: 0,
  79. max: 90
  80. })
  81. },
  82. {
  83. name: 'Metric3',
  84. data: generateData(20, {
  85. min: 0,
  86. max: 90
  87. })
  88. },
  89. {
  90. name: 'Metric4',
  91. data: generateData(20, {
  92. min: 0,
  93. max: 90
  94. })
  95. },
  96. {
  97. name: 'Metric5',
  98. data: generateData(20, {
  99. min: 0,
  100. max: 90
  101. })
  102. },
  103. {
  104. name: 'Metric6',
  105. data: generateData(20, {
  106. min: 0,
  107. max: 90
  108. })
  109. },
  110. {
  111. name: 'Metric7',
  112. data: generateData(20, {
  113. min: 0,
  114. max: 90
  115. })
  116. },
  117. {
  118. name: 'Metric8',
  119. data: generateData(20, {
  120. min: 0,
  121. max: 90
  122. })
  123. },
  124. {
  125. name: 'Metric8',
  126. data: generateData(20, {
  127. min: 0,
  128. max: 90
  129. })
  130. }
  131. ],
  132. chartOptions: {
  133. chart: {
  134. height: 350,
  135. type: 'heatmap',
  136. },
  137. stroke: {
  138. width: 0
  139. },
  140. plotOptions: {
  141. heatmap: {
  142. radius: 30,
  143. enableShades: false,
  144. colorScale: {
  145. ranges: [{
  146. from: 0,
  147. to: 50,
  148. color: '#008FFB'
  149. },
  150. {
  151. from: 51,
  152. to: 100,
  153. color: '#00E396'
  154. },
  155. ],
  156. },
  157. }
  158. },
  159. dataLabels: {
  160. enabled: true,
  161. style: {
  162. colors: ['#fff']
  163. }
  164. },
  165. xaxis: {
  166. type: 'category',
  167. },
  168. title: {
  169. text: 'Rounded (Range without Shades)'
  170. },
  171. },
  172. },
  173. })
  174. </script>
  175. </body>
  176. </html>