advanced.html 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201
  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>Advanced Overlapping Timeline</title>
  8. <link href="../../assets/styles.css" rel="stylesheet" />
  9. <style>
  10. #chart {
  11. max-width: 650px;
  12. margin: 35px auto;
  13. }
  14. .apexcharts-yaxis text {
  15. font-weight: bold;
  16. }
  17. </style>
  18. <script>
  19. window.Promise ||
  20. document.write(
  21. '<script src="https://cdn.jsdelivr.net/npm/promise-polyfill@8/dist/polyfill.min.js"><\/script>'
  22. )
  23. window.Promise ||
  24. document.write(
  25. '<script src="https://cdn.jsdelivr.net/npm/eligrey-classlist-js-polyfill@1.2.20171210/classList.min.js"><\/script>'
  26. )
  27. window.Promise ||
  28. document.write(
  29. '<script src="https://cdn.jsdelivr.net/npm/findindex_polyfill_mdn"><\/script>'
  30. )
  31. </script>
  32. <script src="https://cdn.jsdelivr.net/npm/apexcharts"></script>
  33. </head>
  34. <body>
  35. <div id="chart"></div>
  36. <script>
  37. var options = {
  38. series: [
  39. {
  40. name: 'Bob',
  41. data: [
  42. {
  43. x: 'Design',
  44. y: [
  45. new Date('2019-03-05').getTime(),
  46. new Date('2019-03-08').getTime()
  47. ]
  48. },
  49. {
  50. x: 'Code',
  51. y: [
  52. new Date('2019-03-02').getTime(),
  53. new Date('2019-03-05').getTime()
  54. ]
  55. },
  56. {
  57. x: 'Code',
  58. y: [
  59. new Date('2019-03-05').getTime(),
  60. new Date('2019-03-07').getTime()
  61. ]
  62. },
  63. {
  64. x: 'Test',
  65. y: [
  66. new Date('2019-03-03').getTime(),
  67. new Date('2019-03-09').getTime()
  68. ]
  69. },
  70. {
  71. x: 'Test',
  72. y: [
  73. new Date('2019-03-08').getTime(),
  74. new Date('2019-03-11').getTime()
  75. ]
  76. },
  77. {
  78. x: 'Validation',
  79. y: [
  80. new Date('2019-03-11').getTime(),
  81. new Date('2019-03-16').getTime()
  82. ]
  83. },
  84. {
  85. x: 'Design',
  86. y: [
  87. new Date('2019-03-01').getTime(),
  88. new Date('2019-03-03').getTime()
  89. ]
  90. }
  91. ]
  92. },
  93. {
  94. name: 'Joe',
  95. data: [
  96. {
  97. x: 'Design',
  98. y: [
  99. new Date('2019-03-02').getTime(),
  100. new Date('2019-03-05').getTime()
  101. ]
  102. },
  103. {
  104. x: 'Test',
  105. y: [
  106. new Date('2019-03-06').getTime(),
  107. new Date('2019-03-16').getTime()
  108. ]
  109. },
  110. {
  111. x: 'Code',
  112. y: [
  113. new Date('2019-03-03').getTime(),
  114. new Date('2019-03-07').getTime()
  115. ]
  116. },
  117. {
  118. x: 'Deployment',
  119. y: [
  120. new Date('2019-03-20').getTime(),
  121. new Date('2019-03-22').getTime()
  122. ]
  123. },
  124. {
  125. x: 'Design',
  126. y: [
  127. new Date('2019-03-10').getTime(),
  128. new Date('2019-03-16').getTime()
  129. ]
  130. }
  131. ]
  132. },
  133. {
  134. name: 'Dan',
  135. data: [
  136. {
  137. x: 'Code',
  138. y: [
  139. new Date('2019-03-10').getTime(),
  140. new Date('2019-03-17').getTime()
  141. ]
  142. },
  143. {
  144. x: 'Validation',
  145. y: [
  146. new Date('2019-03-05').getTime(),
  147. new Date('2019-03-09').getTime()
  148. ]
  149. },
  150. ]
  151. }
  152. ],
  153. chart: {
  154. height: 450,
  155. type: 'rangeBar'
  156. },
  157. plotOptions: {
  158. bar: {
  159. horizontal: true,
  160. barHeight: '80%'
  161. }
  162. },
  163. xaxis: {
  164. type: 'datetime'
  165. },
  166. stroke: {
  167. width: 1
  168. },
  169. fill: {
  170. type: 'solid',
  171. opacity: 0.6
  172. },
  173. legend: {
  174. position: 'top',
  175. horizontalAlign: 'left'
  176. }
  177. };
  178. var chart = new ApexCharts(document.querySelector("#chart"), options);
  179. chart.render();
  180. </script>
  181. </body>
  182. </html>