scatter-single-axis.html 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240
  1. <html>
  2. <head>
  3. <meta charset="utf-8">
  4. <script src="lib/esl.js"></script>
  5. <script src="lib/config.js"></script>
  6. <meta name="viewport" content="width=device-width, initial-scale=1" />
  7. <link rel="stylesheet" href="lib/reset.css">
  8. </head>
  9. <body>
  10. <style>
  11. .chart {
  12. width: 100%;
  13. height: 300px;
  14. }
  15. h2 {
  16. text-align: center;
  17. font-size: 16px;
  18. line-height: 30px;
  19. font-weight: normal;
  20. color: #eee;
  21. background: #333;
  22. }
  23. </style>
  24. <h2>value axis | series.data: [[x, y], [x, y], ...]</h2>
  25. <div class="chart" id="main0"></div>
  26. <h2>value axis | series.data: [x, x, ...]</h2>
  27. <div class="chart" id="main1"></div>
  28. <h2>category axis | series.data: [y, y, ...]</h2>
  29. <div class="chart" id="main2"></div>
  30. <script>
  31. require([
  32. 'echarts'
  33. // 'echarts/chart/scatter',
  34. // 'echarts/component/legend',
  35. // 'echarts/component/singleAxis',
  36. // 'echarts/component/toolbox',
  37. // 'echarts/component/tooltip',
  38. // 'echarts/component/dataZoom'
  39. ], function (echarts) {
  40. var main = document.getElementById('main0');
  41. if (!main) {
  42. return;
  43. }
  44. var chart = echarts.init(main);
  45. var data1 = [];
  46. var random = function (max) {
  47. return (Math.random() * max).toFixed(3);
  48. };
  49. for (var i = 0; i < 50; i++) {
  50. data1.push([random(5), random(2)]);
  51. }
  52. chart.setOption({
  53. animation: false,
  54. tooltip: {
  55. trigger: 'axis'
  56. },
  57. legend: {
  58. data: ['scatter']
  59. },
  60. // toolbox: {
  61. // feature: {
  62. // dataZoom: {show: true},
  63. // restore: {show: true}
  64. // }
  65. // },
  66. singleAxis: {
  67. bottom: '15%'
  68. },
  69. dataZoom: [{
  70. type: 'inside'
  71. }, {
  72. type: 'slider',
  73. height: 20,
  74. bottom: 5
  75. }],
  76. series: [{
  77. name: 'scatter',
  78. type: 'scatter',
  79. coordinateSystem: 'singleAxis',
  80. symbolSize: function (val) {
  81. return val[1] * 40;
  82. },
  83. data: data1
  84. }],
  85. animationDelay: function (idx) {
  86. return idx * 20;
  87. },
  88. animationDelayUpdate: function (idx) {
  89. return idx * 20;
  90. }
  91. });
  92. });
  93. </script>
  94. <script>
  95. require([
  96. 'echarts'
  97. // 'echarts/chart/scatter',
  98. // 'echarts/component/singleAxis',
  99. // 'echarts/component/legend',
  100. // 'echarts/component/tooltip',
  101. // 'echarts/component/dataZoom'
  102. ], function (echarts) {
  103. var main = document.getElementById('main1');
  104. if (!main) {
  105. return;
  106. }
  107. var chart = echarts.init(main);
  108. var data1 = [];
  109. var random = function (max) {
  110. return (Math.random() * max).toFixed(3);
  111. };
  112. for (var i = 0; i < 50; i++) {
  113. data1.push(random(5));
  114. }
  115. chart.setOption({
  116. tooltip: {
  117. trigger: 'axis'
  118. },
  119. legend: {
  120. data: ['scatter']
  121. },
  122. singleAxis: {
  123. bottom: '15%'
  124. },
  125. dataZoom: [{
  126. type: 'inside'
  127. }, {
  128. type: 'slider',
  129. height: 20,
  130. bottom: 5
  131. }],
  132. series: [{
  133. name: 'scatter',
  134. type: 'scatter',
  135. coordinateSystem: 'singleAxis',
  136. symbolSize: 20,
  137. data: data1
  138. }]
  139. });
  140. });
  141. </script>
  142. <script>
  143. require([
  144. 'echarts'
  145. // 'echarts/chart/scatter',
  146. // 'echarts/component/singleAxis',
  147. // 'echarts/component/legend',
  148. // 'echarts/component/tooltip',
  149. // 'echarts/component/dataZoom'
  150. ], function (echarts) {
  151. var main = document.getElementById('main2');
  152. if (!main) {
  153. return;
  154. }
  155. var chart = echarts.init(main);
  156. var data1 = [];
  157. var random = function (max) {
  158. return (Math.random() * max).toFixed(3);
  159. };
  160. for (var i = 0; i < 3; i++) {
  161. data1.push(random(5));
  162. }
  163. chart.setOption({
  164. tooltip: {
  165. trigger: 'axis'
  166. },
  167. legend: {
  168. data: ['scatter']
  169. },
  170. singleAxis: {
  171. type: 'category',
  172. data: ['类目1', '类目2', '类目3', '类目4', '类目5'],
  173. bottom: '15%'
  174. },
  175. dataZoom: [{
  176. type: 'inside'
  177. }, {
  178. type: 'slider',
  179. height: 20,
  180. bottom: 5
  181. }],
  182. series: [{
  183. name: 'scatter',
  184. type: 'scatter',
  185. coordinateSystem: 'singleAxis',
  186. symbolSize: 20,
  187. symbolSize: function (val) {
  188. return val * 40;
  189. },
  190. data: data1
  191. }]
  192. });
  193. });
  194. </script>
  195. </body>
  196. </html>