dynamicData2.html 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. <html>
  2. <head>
  3. <meta charset="utf-8">
  4. <script src="esl.js"></script>
  5. <script src="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. renderer: 'canvas'
  30. });
  31. function randomData() {
  32. now = new Date(+now + oneDay);
  33. value = value + Math.random() * 21 - 10;
  34. return {
  35. name: now.toString(),
  36. value: [
  37. [now.getFullYear(), now.getMonth() + 1, now.getDate()].join('/'),
  38. Math.round(value)
  39. ]
  40. }
  41. }
  42. var data = [];
  43. var now = +new Date(1997, 9, 3);
  44. var oneDay = 24 * 3600 * 1000;
  45. var value = Math.random() * 1000;
  46. for (var i = 0; i < 1000; i++) {
  47. data.push(randomData());
  48. }
  49. option = {
  50. title: {
  51. text: '动态数据 + 时间坐标轴'
  52. },
  53. tooltip: {
  54. trigger: 'axis',
  55. formatter: function (params) {
  56. params = params[0];
  57. var date = new Date(params.name);
  58. return date.getDate() + '/' + (date.getMonth() + 1) + '/' + date.getFullYear() + ' : ' + params.value[1];
  59. },
  60. axisPointer: {
  61. animation: false
  62. }
  63. },
  64. xAxis: {
  65. type: 'time',
  66. splitLine: {
  67. show: false
  68. }
  69. },
  70. yAxis: {
  71. type: 'value',
  72. boundaryGap: [0, '100%'],
  73. splitLine: {
  74. show: false
  75. }
  76. },
  77. series: [{
  78. name: '模拟数据',
  79. type: 'line',
  80. showSymbol: false,
  81. hoverAnimation: false,
  82. data: data
  83. }]
  84. };
  85. setInterval(function () {
  86. for (var i = 0; i < 5; i++) {
  87. data.shift();
  88. data.push(randomData());
  89. }
  90. chart.setOption({
  91. series: [{
  92. data: data
  93. }]
  94. });
  95. }, 1000);
  96. chart.setOption(option);
  97. })
  98. </script>
  99. </body>
  100. </html>