getOption.html 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  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. </style>
  12. <div>
  13. <input type="button" value="exchangeXY" onclick="go.exchangeXY();">
  14. <input type="button" value="illegal use getModel.option" onclick="go.illegal();">
  15. <input type="button" value="dataZoom restore (error if view changed)" onclick="go.dataZoomRestore();">
  16. </div>
  17. <div id="main"></div>
  18. <script>
  19. var chart;
  20. var myChart;
  21. var go;
  22. require([
  23. 'echarts'
  24. // 'echarts/chart/bar',
  25. // 'echarts/chart/line',
  26. // 'echarts/component/legend',
  27. // 'echarts/component/grid',
  28. // 'echarts/component/tooltip',
  29. // 'echarts/component/markLine',
  30. // dataZoom and toolbox is required for reproduct bug.
  31. // 'echarts/component/dataZoom',
  32. // 'echarts/component/toolbox'
  33. ], function (echarts) {
  34. chart = myChart = echarts.init(document.getElementById('main'), null, {
  35. });
  36. option = {
  37. toolbox: {
  38. feature: {
  39. dataZoom: {}
  40. }
  41. },
  42. dataZoom: [{
  43. show: true,
  44. end: 80
  45. }, {
  46. type: 'inside',
  47. end: 80
  48. }],
  49. legend: {
  50. data:['邮件营销','联盟广告','视频广告','直接访问','搜索引擎']
  51. },
  52. xAxis : [
  53. {
  54. type : 'category',
  55. boundaryGap : false,
  56. data : ['周一','周二','周三','周四','周五','周六','周日']
  57. }
  58. ],
  59. yAxis : [
  60. {
  61. type : 'value'
  62. }
  63. ],
  64. series : [
  65. {
  66. name:'邮件营销',
  67. type:'line',
  68. stack: '总量',
  69. data:[120, 132, 101, 134, 90, 230, 210]
  70. },
  71. {
  72. name:'联盟广告',
  73. type:'line',
  74. stack: '总量',
  75. data:[220, 182, 191, 234, 290, 330, 310]
  76. },
  77. {
  78. name:'视频广告',
  79. type:'line',
  80. stack: '总量',
  81. data:[150, 232, 201, 154, 190, 330, 410]
  82. },
  83. {
  84. name:'直接访问',
  85. type:'line',
  86. stack: '总量',
  87. data:[320, 332, 301, 334, 390, 330, 320]
  88. },
  89. {
  90. name:'搜索引擎',
  91. type:'line',
  92. stack: '总量',
  93. data:[820, 932, 901, 934, 1290, 1330, 1320]
  94. }
  95. ]
  96. };
  97. go = {
  98. exchangeXY: function () {
  99. var option = myChart.getOption();
  100. var temp;
  101. temp = option.xAxis;
  102. option.xAxis = option.yAxis;
  103. option.yAxis = temp;
  104. myChart.setOption(option);
  105. },
  106. illegal: function () {
  107. try {
  108. var option = myChart.getModel.option;
  109. var temp;
  110. temp = option.xAxis;
  111. option.xAxis = option.yAxis;
  112. option.yAxis = temp;
  113. myChart.setOption(option);
  114. alert('error');
  115. }
  116. catch (e) {
  117. alert('ok');
  118. }
  119. },
  120. dataZoomRestore: function () {
  121. var option = myChart.getOption();
  122. myChart.setOption(option);
  123. }
  124. };
  125. chart.setOption(option);
  126. });
  127. </script>
  128. </body>
  129. </html>