dataZoom-scatter-hv.html 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. <html>
  2. <head>
  3. <meta charset="utf-8">
  4. <script src="lib/esl.js"></script>
  5. <script src="lib/config.js"></script>
  6. </head>
  7. <body>
  8. <style>
  9. html, body, #main {
  10. width: 100%;
  11. height: 100%;
  12. }
  13. </style>
  14. <div id="main"></div>
  15. <script>
  16. require([
  17. 'echarts'
  18. // 'echarts/chart/scatter',
  19. // 'echarts/component/legend',
  20. // 'echarts/component/grid',
  21. // 'echarts/component/tooltip',
  22. // 'echarts/component/dataZoom'
  23. ], function (echarts) {
  24. var chart = echarts.init(document.getElementById('main'), null, {
  25. });
  26. var data1 = [];
  27. var data2 = [];
  28. var data3 = [];
  29. var random = function (max) {
  30. return (Math.random() * max).toFixed(3);
  31. };
  32. for (var i = 0; i < 100000; i++) {
  33. data1.push([random(15), random(10), random(1)]);
  34. // data1.push([i, 10, i]);
  35. data2.push([random(10), random(10), random(1)]);
  36. data3.push([random(15), random(10), random(1)]);
  37. }
  38. // console.profile('setOption');
  39. chart.setOption({
  40. animation: false,
  41. legend: {
  42. data: ['scatter', 'scatter2', 'scatter3']
  43. },
  44. tooltip: {
  45. },
  46. xAxis: {
  47. type: 'value',
  48. min: 'dataMin',
  49. max: 'dataMax',
  50. splitLine: {
  51. show: true
  52. }
  53. },
  54. yAxis: {
  55. type: 'value',
  56. min: 'dataMin',
  57. max: 'dataMax',
  58. splitLine: {
  59. show: true
  60. }
  61. },
  62. dataZoom: [
  63. {
  64. show: true,
  65. xAxisIndex: [0],
  66. start: 1,
  67. end: 5
  68. },
  69. {
  70. show: true,
  71. yAxisIndex: [0],
  72. start: 29,
  73. end: 36
  74. },
  75. {
  76. type: 'inside',
  77. xAxisIndex: [0],
  78. start: 1,
  79. end: 5
  80. },
  81. {
  82. type: 'inside',
  83. yAxisIndex: [0],
  84. start: 29,
  85. end: 36
  86. }
  87. ],
  88. series: [
  89. {
  90. name: 'scatter',
  91. type: 'scatter',
  92. itemStyle: {
  93. normal: {
  94. opacity: 0.8,
  95. // shadowBlur: 10,
  96. // shadowOffsetX: 0,
  97. // shadowOffsetY: 0,
  98. // shadowColor: 'rgba(0, 0, 0, 0.5)'
  99. }
  100. },
  101. symbolSize: function (val) {
  102. return val[2] * 40;
  103. },
  104. data: data1
  105. },
  106. {
  107. name: 'scatter2',
  108. type: 'scatter',
  109. itemStyle: {
  110. normal: {
  111. opacity: 0.8
  112. }
  113. },
  114. symbolSize: function (val) {
  115. return val[2] * 40;
  116. },
  117. data: data2
  118. },
  119. {
  120. name: 'scatter3',
  121. type: 'scatter',
  122. itemStyle: {
  123. normal: {
  124. opacity: 0.8,
  125. }
  126. },
  127. symbolSize: function (val) {
  128. return val[2] * 40;
  129. },
  130. data: data3
  131. }
  132. ]
  133. });
  134. // console.profileEnd('setOption');
  135. })
  136. </script>
  137. <!-- <script src="js/memory-stats.js"></script>
  138. <script src="js/memory.js"></script> -->
  139. </body>
  140. </html>