connect-dynamic.html 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. <html>
  2. <head>
  3. <meta charset="utf-8">
  4. <script src="lib/esl.js"></script>
  5. <script src="lib/config.js"></script>
  6. <link rel="stylesheet" href="lib/reset.css" />
  7. </head>
  8. <body>
  9. <style>
  10. #chart1, #chart2 {
  11. width: 50%;
  12. height: 500px;
  13. float: left;
  14. }
  15. </style>
  16. (1) hover on chart1: should no error.
  17. (2) <button onclick="loadChart2();">Load chart2</button>
  18. (3) hover on chart1 and chart2: should no error.
  19. <div>
  20. <div class="chart" id="chart1"></div>
  21. <div class="chart" id="chart2"></div>
  22. </div>
  23. <script>
  24. require([
  25. 'echarts'
  26. // 'echarts/chart/scatter',
  27. // 'echarts/component/legend',
  28. // 'echarts/component/grid',
  29. // 'echarts/component/visualMap',
  30. // 'echarts/component/tooltip'
  31. ], function (echarts) {
  32. var chart1 = echarts.init(document.getElementById('chart1'));
  33. var chart2 = echarts.init(document.getElementById('chart2'));
  34. echarts.connect([chart1, chart2]);
  35. var data1 = [];
  36. var symbolCount = 6;
  37. for (var i = 0; i < 100; i++) {
  38. data1.push([
  39. Math.random() * 5,
  40. Math.random() * 4,
  41. Math.random() * 20,
  42. Math.round(Math.random() * (symbolCount - 1))
  43. ]);
  44. }
  45. chart1.setOption({
  46. legend: {
  47. top: 50,
  48. data: ['scatter']
  49. },
  50. tooltip: {
  51. formatter: '{c}'
  52. },
  53. grid: {
  54. top: '26%',
  55. bottom: '26%'
  56. },
  57. xAxis: {
  58. type: 'value',
  59. splitLine: {
  60. show: false
  61. }
  62. },
  63. yAxis: {
  64. type: 'value',
  65. splitLine: {
  66. show: false
  67. }
  68. },
  69. visualMap: [
  70. {
  71. realtime: false,
  72. left: 'right',
  73. orient: 'horizontal',
  74. // selectedMode: 'single',
  75. selectedMode: 'multiple',
  76. backgroundColor: '#eee',
  77. dimension: 2,
  78. selected: [],
  79. min: 0,
  80. max: 24,
  81. precision: 0,
  82. splitNumber: 0,
  83. calculable: true,
  84. inRange: { // visual for short cut
  85. color: ['#006edd', '#e0ffff']
  86. }
  87. }
  88. ],
  89. series: [
  90. {
  91. name: 'scatter',
  92. type: 'scatter',
  93. symbolSize: 30,
  94. data: data1
  95. }
  96. ]
  97. });
  98. window.loadChart2 = function () {
  99. chart2.setOption({
  100. legend: {
  101. top: 50,
  102. data: ['scatter']
  103. },
  104. tooltip: {
  105. formatter: '{c}'
  106. },
  107. grid: {
  108. top: '26%',
  109. bottom: '26%'
  110. },
  111. xAxis: {
  112. type: 'value',
  113. splitLine: {
  114. show: false
  115. }
  116. },
  117. yAxis: {
  118. type: 'value',
  119. splitLine: {
  120. show: false
  121. }
  122. },
  123. visualMap: [
  124. {
  125. left: 'right',
  126. // selectedMode: 'single',
  127. selectedMode: 'multiple',
  128. orient: 'horizontal',
  129. backgroundColor: '#eee',
  130. dimension: 2,
  131. selected: [],
  132. min: 0,
  133. max: 24,
  134. precision: 0,
  135. splitNumber: 0,
  136. calculable: true,
  137. inRange: { // visual for short cut
  138. color: ['#006edd', '#e0ffff']
  139. }
  140. }
  141. ],
  142. series: [
  143. {
  144. name: 'scatter',
  145. type: 'scatter',
  146. symbolSize: 30,
  147. data: data1
  148. }
  149. ]
  150. });
  151. }
  152. });
  153. </script>
  154. </body>
  155. </html>