zoomable-timeseries.html 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  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>Zoomable TimeSeries</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 src="../../assets/irregular-data-series.js"></script>
  31. <script>
  32. var ts2 = 1484418600000;
  33. var dates = [];
  34. var spikes = [5, -5, 3, -3, 8, -8]
  35. for (var i = 0; i < 120; i++) {
  36. ts2 = ts2 + 86400000;
  37. var innerArr = [ts2, dataSeries[1][i].value];
  38. dates.push(innerArr)
  39. }
  40. </script>
  41. </head>
  42. <body>
  43. <div id="chart"></div>
  44. <script>
  45. var options = {
  46. series: [{
  47. name: 'XYZ MOTORS',
  48. data: dates
  49. }],
  50. chart: {
  51. type: 'area',
  52. stacked: false,
  53. height: 350,
  54. zoom: {
  55. type: 'x',
  56. enabled: true,
  57. autoScaleYaxis: true
  58. },
  59. toolbar: {
  60. autoSelected: 'zoom'
  61. }
  62. },
  63. dataLabels: {
  64. enabled: false
  65. },
  66. markers: {
  67. size: 0,
  68. },
  69. title: {
  70. text: 'Stock Price Movement',
  71. align: 'left'
  72. },
  73. fill: {
  74. type: 'gradient',
  75. gradient: {
  76. shadeIntensity: 1,
  77. inverseColors: false,
  78. opacityFrom: 0.5,
  79. opacityTo: 0,
  80. stops: [0, 90, 100]
  81. },
  82. },
  83. yaxis: {
  84. labels: {
  85. formatter: function (val) {
  86. return (val / 1000000).toFixed(0);
  87. },
  88. },
  89. title: {
  90. text: 'Price'
  91. },
  92. },
  93. xaxis: {
  94. type: 'datetime',
  95. },
  96. tooltip: {
  97. shared: false,
  98. y: {
  99. formatter: function (val) {
  100. return (val / 1000000).toFixed(0)
  101. }
  102. }
  103. }
  104. };
  105. var chart = new ApexCharts(document.querySelector("#chart"), options);
  106. chart.render();
  107. </script>
  108. </body>
  109. </html>