advanced.html 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220
  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/vue/dist/vue.min.js"></script>
  33. <script src="https://cdn.jsdelivr.net/npm/apexcharts"></script>
  34. <script src="https://cdn.jsdelivr.net/npm/vue-apexcharts"></script>
  35. </head>
  36. <body>
  37. <div id="app">
  38. <div id="chart">
  39. <apexchart type="rangeBar" height="450" :options="chartOptions" :series="series"></apexchart>
  40. </div>
  41. </div>
  42. <!-- Below element is just for displaying source code. it is not required. DO NOT USE -->
  43. <div id="html">
  44. &lt;div id=&quot;chart&quot;&gt;
  45. &lt;apexchart type=&quot;rangeBar&quot; height=&quot;450&quot; :options=&quot;chartOptions&quot; :series=&quot;series&quot;&gt;&lt;/apexchart&gt;
  46. &lt;/div&gt;
  47. </div>
  48. <script>
  49. new Vue({
  50. el: '#app',
  51. components: {
  52. apexchart: VueApexCharts,
  53. },
  54. data: {
  55. series: [
  56. {
  57. name: 'Bob',
  58. data: [
  59. {
  60. x: 'Design',
  61. y: [
  62. new Date('2019-03-05').getTime(),
  63. new Date('2019-03-08').getTime()
  64. ]
  65. },
  66. {
  67. x: 'Code',
  68. y: [
  69. new Date('2019-03-02').getTime(),
  70. new Date('2019-03-05').getTime()
  71. ]
  72. },
  73. {
  74. x: 'Code',
  75. y: [
  76. new Date('2019-03-05').getTime(),
  77. new Date('2019-03-07').getTime()
  78. ]
  79. },
  80. {
  81. x: 'Test',
  82. y: [
  83. new Date('2019-03-03').getTime(),
  84. new Date('2019-03-09').getTime()
  85. ]
  86. },
  87. {
  88. x: 'Test',
  89. y: [
  90. new Date('2019-03-08').getTime(),
  91. new Date('2019-03-11').getTime()
  92. ]
  93. },
  94. {
  95. x: 'Validation',
  96. y: [
  97. new Date('2019-03-11').getTime(),
  98. new Date('2019-03-16').getTime()
  99. ]
  100. },
  101. {
  102. x: 'Design',
  103. y: [
  104. new Date('2019-03-01').getTime(),
  105. new Date('2019-03-03').getTime()
  106. ]
  107. }
  108. ]
  109. },
  110. {
  111. name: 'Joe',
  112. data: [
  113. {
  114. x: 'Design',
  115. y: [
  116. new Date('2019-03-02').getTime(),
  117. new Date('2019-03-05').getTime()
  118. ]
  119. },
  120. {
  121. x: 'Test',
  122. y: [
  123. new Date('2019-03-06').getTime(),
  124. new Date('2019-03-16').getTime()
  125. ]
  126. },
  127. {
  128. x: 'Code',
  129. y: [
  130. new Date('2019-03-03').getTime(),
  131. new Date('2019-03-07').getTime()
  132. ]
  133. },
  134. {
  135. x: 'Deployment',
  136. y: [
  137. new Date('2019-03-20').getTime(),
  138. new Date('2019-03-22').getTime()
  139. ]
  140. },
  141. {
  142. x: 'Design',
  143. y: [
  144. new Date('2019-03-10').getTime(),
  145. new Date('2019-03-16').getTime()
  146. ]
  147. }
  148. ]
  149. },
  150. {
  151. name: 'Dan',
  152. data: [
  153. {
  154. x: 'Code',
  155. y: [
  156. new Date('2019-03-10').getTime(),
  157. new Date('2019-03-17').getTime()
  158. ]
  159. },
  160. {
  161. x: 'Validation',
  162. y: [
  163. new Date('2019-03-05').getTime(),
  164. new Date('2019-03-09').getTime()
  165. ]
  166. },
  167. ]
  168. }
  169. ],
  170. chartOptions: {
  171. chart: {
  172. height: 450,
  173. type: 'rangeBar'
  174. },
  175. plotOptions: {
  176. bar: {
  177. horizontal: true,
  178. barHeight: '80%'
  179. }
  180. },
  181. xaxis: {
  182. type: 'datetime'
  183. },
  184. stroke: {
  185. width: 1
  186. },
  187. fill: {
  188. type: 'solid',
  189. opacity: 0.6
  190. },
  191. legend: {
  192. position: 'top',
  193. horizontalAlign: 'left'
  194. }
  195. },
  196. },
  197. })
  198. </script>
  199. </body>
  200. </html>