tooltip.html 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  1. <html>
  2. <head>
  3. <meta charset="utf-8">
  4. <script src="esl.js"></script>
  5. <script src="config.js"></script>
  6. <meta name="viewport" content="width=device-width, initial-scale=1" />
  7. </head>
  8. <body>
  9. <style>
  10. html, body, #main {
  11. width: 100%;
  12. height: 100%;
  13. margin: 0;
  14. }
  15. #main {
  16. width: 1000px;
  17. background: #fff;
  18. }
  19. </style>
  20. <div id="main"></div>
  21. <script>
  22. require([
  23. 'echarts',
  24. 'echarts/chart/bar',
  25. 'echarts/component/legend',
  26. 'echarts/component/grid',
  27. 'echarts/component/tooltip'
  28. ], function (echarts) {
  29. var chart = echarts.init(document.getElementById('main'), null, {
  30. renderer: 'canvas'
  31. });
  32. var xAxisData = [];
  33. var data1 = [];
  34. var data2 = [];
  35. var data3 = [];
  36. var data4 = [];
  37. for (var i = 0; i < 10; i++) {
  38. xAxisData.push('类目' + i);
  39. data1.push((Math.random() * 5).toFixed(2));
  40. data2.push(-Math.random().toFixed(2));
  41. data3.push((Math.random() + 0.5).toFixed(2));
  42. data4.push((Math.random() + 0.3).toFixed(2));
  43. }
  44. chart.setOption({
  45. legend: {
  46. data: ['坐标轴触发1', '坐标轴触发2', '数据项触发', '不显示的数据项触发'],
  47. tooltip: {
  48. show: true,
  49. formatter: null
  50. }
  51. },
  52. tooltip : { // Option config. Can be overwrited by series or data
  53. trigger: 'axis',
  54. //show: true, //default true
  55. showDelay: 50,
  56. hideDelay: 200,
  57. transitionDuration:0.2,
  58. backgroundColor : 'rgba(255,0,255,0.7)',
  59. borderColor : '#f50',
  60. borderRadius : 8,
  61. borderWidth: 2,
  62. padding: 10, // [5, 10, 15, 20]
  63. axisPointer: {
  64. type: 'shadow'
  65. },
  66. position : function(p) {
  67. // 位置回调
  68. // console.log && console.log(p);
  69. return [p[0] + 10, p[1] - 10];
  70. },
  71. textStyle : {
  72. color: 'yellow',
  73. decoration: 'none',
  74. fontFamily: 'Verdana, sans-serif',
  75. fontSize: 15,
  76. fontStyle: 'italic',
  77. fontWeight: 'bold'
  78. },
  79. formatter: function (params,ticket,callback) {
  80. if (params.componentType === 'legend') {
  81. return params.name;
  82. }
  83. var res = 'Function formatter : <br/>' + params[0].name;
  84. for (var i = 0, l = params.length; i < l; i++) {
  85. res += '<br/>' + params[i].seriesName + ' : ' + params[i].value;
  86. }
  87. setTimeout(function (){
  88. // 仅为了模拟异步回调
  89. callback(ticket, res);
  90. }, 1000);
  91. return 'loading';
  92. }
  93. //formatter: "Template formatter: <br/>{b}<br/>{a}:{c}<br/>{a1}:{c1}"
  94. },
  95. toolbox: {
  96. show : true,
  97. feature : {
  98. mark : {show: true},
  99. dataView : {show: true, readOnly: false},
  100. magicType : {show: true, type: ['line', 'bar', 'stack', 'tiled']},
  101. restore : {show: true},
  102. saveAsImage : {show: true}
  103. }
  104. },
  105. calculable : true,
  106. xAxis : {
  107. data : ['周一','周二','周三','周四','周五','周六','周日']
  108. },
  109. yAxis : {
  110. type : 'value'
  111. },
  112. series : [
  113. {
  114. name:'坐标轴触发1',
  115. type:'bar',
  116. data:[
  117. {value:320, extra:'Hello~'},
  118. 332, 301, 334, 390, 330, 320
  119. ]
  120. },
  121. {
  122. name:'坐标轴触发2',
  123. type:'bar',
  124. data:[862, 1018, 964, 1026, 1679, 1600, 157]
  125. },
  126. {
  127. name:'数据项触发',
  128. type:'bar',
  129. tooltip : { // Series config.
  130. trigger: 'item',
  131. backgroundColor: 'black',
  132. position : [0, 0],
  133. formatter: 'Series formatter: <br/>{a}<br/>{b}:{c}'
  134. },
  135. stack: '数据项',
  136. data:[
  137. {
  138. value: 120,
  139. tooltip: '我是一个简单的字符串'
  140. }, 132,
  141. {
  142. value: 301,
  143. itemStyle: {normal: {color: 'red'}},
  144. tooltip : { // Data config.
  145. backgroundColor: 'blue',
  146. formatter: 'Data formatter: <br/>{a}<br/>{b}:{c}'
  147. }
  148. },
  149. 134, 90,
  150. {
  151. value: 230,
  152. label: {
  153. normal: {
  154. show: true,
  155. formatter: '我不显示 tooltip'
  156. }
  157. },
  158. tooltip: {show: false}
  159. },
  160. 210
  161. ]
  162. },
  163. {
  164. name:'不显示的数据项触发',
  165. type:'bar',
  166. tooltip : {
  167. show : false,
  168. trigger: 'item'
  169. },
  170. stack: '数据项',
  171. data:[150, 232, 201, 154, 190, 330, 410]
  172. }
  173. ]
  174. });
  175. });
  176. </script>
  177. </body>
  178. </html>