dynamicData2.html 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. <html>
  2. <head>
  3. <meta charset="utf-8">
  4. <script src="lib/esl.js"></script>
  5. <script src="lib/config.js"></script>
  6. <script src="lib/facePrint.js"></script>
  7. <meta name="viewport" content="width=device-width, initial-scale=1" />
  8. </head>
  9. <body>
  10. <style>
  11. html, body, #main {
  12. width: 100%;
  13. height: 100%;
  14. }
  15. </style>
  16. <div id="main"></div>
  17. <script>
  18. require([
  19. 'echarts'
  20. // 'echarts/chart/line',
  21. // 'echarts/component/tooltip',
  22. // 'echarts/component/legend',
  23. // 'echarts/component/grid'
  24. ], function (echarts) {
  25. function randomData() {
  26. return (Math.random() + 3).toFixed(3);
  27. }
  28. var chart = echarts.init(document.getElementById('main'), null, {
  29. });
  30. function randomData() {
  31. now = new Date(+now + oneDay);
  32. value = value + Math.random() * 21 - 10;
  33. return {
  34. name: now.toString(),
  35. value: [
  36. [now.getFullYear(), now.getMonth() + 1, now.getDate()].join('/'),
  37. Math.round(value)
  38. ]
  39. }
  40. }
  41. var data = [];
  42. var now = +new Date(1997, 9, 3);
  43. var oneDay = 24 * 3600 * 1000;
  44. var value = Math.random() * 1000;
  45. for (var i = 0; i < 1000; i++) {
  46. data.push(randomData());
  47. }
  48. option = {
  49. title: {
  50. text: '动态数据 + 时间坐标轴'
  51. },
  52. tooltip: {
  53. trigger: 'axis',
  54. formatter: function (params) {
  55. params = params[0];
  56. var date = new Date(params.name);
  57. return date.getDate() + '/' + (date.getMonth() + 1) + '/' + date.getFullYear() + ' : ' + params.value[1];
  58. },
  59. axisPointer: {
  60. animation: false
  61. }
  62. },
  63. xAxis: {
  64. type: 'time',
  65. splitLine: {
  66. show: false
  67. }
  68. },
  69. yAxis: {
  70. type: 'value',
  71. boundaryGap: [0, '100%'],
  72. splitLine: {
  73. show: false
  74. }
  75. },
  76. series: [{
  77. name: '模拟数据',
  78. type: 'line',
  79. showSymbol: false,
  80. hoverAnimation: false,
  81. data: data
  82. }]
  83. };
  84. setInterval(function () {
  85. for (var i = 0; i < 5; i++) {
  86. data.shift();
  87. data.push(randomData());
  88. }
  89. chart.setOption({
  90. series: [{
  91. data: data
  92. }]
  93. });
  94. }, 1000);
  95. chart.setOption(option);
  96. })
  97. </script>
  98. </body>
  99. </html>