dashed-line.html 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  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>Dashed Line 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/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. </head>
  33. <body>
  34. <div id="app">
  35. <div id="chart">
  36. <apexchart type="line" height="350" :options="chartOptions" :series="series"></apexchart>
  37. </div>
  38. </div>
  39. <!-- Below element is just for displaying source code. it is not required. DO NOT USE -->
  40. <div id="html">
  41. &lt;div id=&quot;chart&quot;&gt;
  42. &lt;apexchart type=&quot;line&quot; height=&quot;350&quot; :options=&quot;chartOptions&quot; :series=&quot;series&quot;&gt;&lt;/apexchart&gt;
  43. &lt;/div&gt;
  44. </div>
  45. <script>
  46. new Vue({
  47. el: '#app',
  48. components: {
  49. apexchart: VueApexCharts,
  50. },
  51. data: {
  52. series: [{
  53. name: "Session Duration",
  54. data: [45, 52, 38, 24, 33, 26, 21, 20, 6, 8, 15, 10]
  55. },
  56. {
  57. name: "Page Views",
  58. data: [35, 41, 62, 42, 13, 18, 29, 37, 36, 51, 32, 35]
  59. },
  60. {
  61. name: 'Total Visits',
  62. data: [87, 57, 74, 99, 75, 38, 62, 47, 82, 56, 45, 47]
  63. }
  64. ],
  65. chartOptions: {
  66. chart: {
  67. height: 350,
  68. type: 'line',
  69. zoom: {
  70. enabled: false
  71. },
  72. },
  73. dataLabels: {
  74. enabled: false
  75. },
  76. stroke: {
  77. width: [5, 7, 5],
  78. curve: 'straight',
  79. dashArray: [0, 8, 5]
  80. },
  81. title: {
  82. text: 'Page Statistics',
  83. align: 'left'
  84. },
  85. legend: {
  86. tooltipHoverFormatter: function(val, opts) {
  87. return val + ' - <strong>' + opts.w.globals.series[opts.seriesIndex][opts.dataPointIndex] + '</strong>'
  88. }
  89. },
  90. markers: {
  91. size: 0,
  92. hover: {
  93. sizeOffset: 6
  94. }
  95. },
  96. xaxis: {
  97. categories: ['01 Jan', '02 Jan', '03 Jan', '04 Jan', '05 Jan', '06 Jan', '07 Jan', '08 Jan', '09 Jan',
  98. '10 Jan', '11 Jan', '12 Jan'
  99. ],
  100. },
  101. tooltip: {
  102. y: [
  103. {
  104. title: {
  105. formatter: function (val) {
  106. return val + " (mins)"
  107. }
  108. }
  109. },
  110. {
  111. title: {
  112. formatter: function (val) {
  113. return val + " per session"
  114. }
  115. }
  116. },
  117. {
  118. title: {
  119. formatter: function (val) {
  120. return val;
  121. }
  122. }
  123. }
  124. ]
  125. },
  126. grid: {
  127. borderColor: '#f1f1f1',
  128. }
  129. },
  130. },
  131. })
  132. </script>
  133. </body>
  134. </html>