scatter-datetime.html 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  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>Timeline Scatter Chart</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/apexcharts"></script>
  30. <script>
  31. /*
  32. // this function will generate output in this format
  33. // data = [
  34. [timestamp, 23],
  35. [timestamp, 33],
  36. [timestamp, 12]
  37. ...
  38. ]
  39. */
  40. function generateDayWiseTimeSeries(baseval, count, yrange) {
  41. var i = 0;
  42. var series = [];
  43. while (i < count) {
  44. var y = Math.floor(Math.random() * (yrange.max - yrange.min + 1)) + yrange.min;
  45. series.push([baseval, y]);
  46. baseval += 86400000;
  47. i++;
  48. }
  49. return series;
  50. }
  51. </script>
  52. </head>
  53. <body>
  54. <div id="chart"></div>
  55. <script>
  56. var options = {
  57. series: [{
  58. name: 'TEAM 1',
  59. data: generateDayWiseTimeSeries(new Date('11 Feb 2017 GMT').getTime(), 20, {
  60. min: 10,
  61. max: 60
  62. })
  63. },
  64. {
  65. name: 'TEAM 2',
  66. data: generateDayWiseTimeSeries(new Date('11 Feb 2017 GMT').getTime(), 20, {
  67. min: 10,
  68. max: 60
  69. })
  70. },
  71. {
  72. name: 'TEAM 3',
  73. data: generateDayWiseTimeSeries(new Date('11 Feb 2017 GMT').getTime(), 30, {
  74. min: 10,
  75. max: 60
  76. })
  77. },
  78. {
  79. name: 'TEAM 4',
  80. data: generateDayWiseTimeSeries(new Date('11 Feb 2017 GMT').getTime(), 10, {
  81. min: 10,
  82. max: 60
  83. })
  84. },
  85. {
  86. name: 'TEAM 5',
  87. data: generateDayWiseTimeSeries(new Date('11 Feb 2017 GMT').getTime(), 30, {
  88. min: 10,
  89. max: 60
  90. })
  91. },
  92. ],
  93. chart: {
  94. height: 350,
  95. type: 'scatter',
  96. zoom: {
  97. type: 'xy'
  98. }
  99. },
  100. dataLabels: {
  101. enabled: false
  102. },
  103. grid: {
  104. xaxis: {
  105. lines: {
  106. show: true
  107. }
  108. },
  109. yaxis: {
  110. lines: {
  111. show: true
  112. }
  113. },
  114. },
  115. xaxis: {
  116. type: 'datetime',
  117. },
  118. yaxis: {
  119. max: 70
  120. }
  121. };
  122. var chart = new ApexCharts(document.querySelector("#chart"), options);
  123. chart.render();
  124. </script>
  125. </body>
  126. </html>