市长热线演示版

charts.html 4.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4. <script type="text/javascript" src="../ThirdParty/js/jquery-1.8.3.min.js"></script>
  5. <script type="text/javascript" src="../ThirdParty/js/highcharts.js"></script>
  6. <script type="text/javascript" src="../ThirdParty/js/modules/exporting.js"></script>
  7. <script>
  8. $(function () {
  9. var colors = Highcharts.getOptions().colors,
  10. categories = ['MSIE', 'Firefox', 'Chrome', 'Safari', 'Opera'],
  11. name = '总呼叫量',
  12. data = [{
  13. y: 55.11,
  14. color: colors[0],
  15. drilldown: {
  16. name: 'MSIE versions',
  17. categories: ['MSIE 6.0', 'MSIE 7.0', 'MSIE 8.0', 'MSIE 9.0'],
  18. data: [10.85, 7.35, 33.06, 2.81],
  19. color: colors[0]
  20. }
  21. }, {
  22. y: 21.63,
  23. color: colors[1],
  24. drilldown: {
  25. name: 'Firefox versions',
  26. categories: ['Firefox 2.0', 'Firefox 3.0', 'Firefox 3.5', 'Firefox 3.6', 'Firefox 4.0'],
  27. data: [0.20, 0.83, 1.58, 13.12, 5.43],
  28. color: colors[1]
  29. }
  30. }, {
  31. y: 11.94,
  32. color: colors[2],
  33. drilldown: {
  34. name: 'Chrome versions',
  35. categories: ['Chrome 5.0', 'Chrome 6.0', 'Chrome 7.0', 'Chrome 8.0', 'Chrome 9.0',
  36. 'Chrome 10.0', 'Chrome 11.0', 'Chrome 12.0'],
  37. data: [0.12, 0.19, 0.12, 0.36, 0.32, 9.91, 0.50, 0.22],
  38. color: colors[2]
  39. }
  40. }, {
  41. y: 7.15,
  42. color: colors[3],
  43. drilldown: {
  44. name: 'Safari versions',
  45. categories: ['Safari 5.0', 'Safari 4.0', 'Safari Win 5.0', 'Safari 4.1', 'Safari/Maxthon',
  46. 'Safari 3.1', 'Safari 4.1'],
  47. data: [4.55, 1.42, 0.23, 0.21, 0.20, 0.19, 0.14],
  48. color: colors[3]
  49. }
  50. }, {
  51. y: 2.14,
  52. color: colors[4],
  53. drilldown: {
  54. name: 'Opera versions',
  55. categories: ['Opera 9.x', 'Opera 10.x', 'Opera 11.x'],
  56. data: [ 0.12, 0.37, 1.65],
  57. color: colors[4]
  58. }
  59. }];
  60. function setChart(name, categories, data, color) {
  61. chart.xAxis[0].setCategories(categories, false);
  62. chart.series[0].remove(false);
  63. chart.addSeries({
  64. name: name,
  65. data: data,
  66. color: color || 'white'
  67. }, false);
  68. chart.redraw();
  69. }
  70. var chart = $('#container').highcharts({
  71. chart: {
  72. type: 'column'
  73. },
  74. title: {
  75. text: '总呼叫量统计'
  76. },
  77. subtitle: {
  78. text: '洛阳市12369服务热线'
  79. },
  80. xAxis: {
  81. categories: categories
  82. },
  83. yAxis: {
  84. title: {
  85. text: 'Total percent market share'
  86. }
  87. },
  88. plotOptions: {
  89. column: {
  90. cursor: 'pointer',
  91. point: {
  92. events: {
  93. click: function() {
  94. var drilldown = this.drilldown;
  95. alert(drilldown);
  96. if (drilldown) { // drill down
  97. setChart(drilldown.name, drilldown.categories, drilldown.data, drilldown.color);
  98. } else { // restore
  99. setChart(name, categories, data);
  100. }
  101. }
  102. }
  103. },
  104. dataLabels: {
  105. enabled: true,
  106. color: colors[0],
  107. style: {
  108. fontWeight: 'bold'
  109. },
  110. formatter: function() {
  111. return this.y +'%';
  112. }
  113. }
  114. }
  115. },
  116. tooltip: {
  117. formatter: function() {
  118. var point = this.point,
  119. s = this.x +':<b>'+ this.y +'% market share</b><br/>';
  120. if (point.drilldown) {
  121. s += 'Click to view '+ point.category +' versions';
  122. } else {
  123. s += 'Click to return to browser brands';
  124. }
  125. return s;
  126. }
  127. },
  128. series: [{
  129. name: name,
  130. data: data,
  131. color: 'white'
  132. }],
  133. exporting: {
  134. enabled: false
  135. }
  136. })
  137. .highcharts(); // return chart
  138. });
  139. </script>
  140. </head>
  141. <body>
  142. <div id="container" style="min-width:700px;height:400px"></div>
  143. </body>
  144. </html>