ECharts Y轴倒置+DataSet

待我称王封你为后i 2022-05-20 09:10 412阅读 0赞

参考资料:

  1. https://blog.csdn.net/u013402515/article/details/49149265
  2. http://echarts.baidu.com/doc/example/line6.html 降雨图
  3. https://www.cnblogs.com/goloving/p/9114048.html Echarts使用dataset数据集管理数据

70

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>ECharts Y轴倒置+DataSet</title>
  6. <!-- 引入 ECharts 文件 -->
  7. <script src="js/echarts.js"></script>
  8. </head>
  9. <body>
  10. <!-- 为 ECharts 准备一个具备大小(宽高)的 DOM -->
  11. <div id="main" style="width: 800px; height: 400px;"></div>
  12. <script type="text/javascript">
  13. // 基于准备好的dom,初始化echarts实例
  14. var myChart = echarts.init(document.getElementById('main'));
  15. // 指定图表的配置项和数据
  16. option = {
  17. title:
  18. {
  19. text: '成绩+排名'
  20. },
  21. legend:
  22. {
  23. x: '200',
  24. data: ['最高分', '最低分', '平均分', '级部排名']
  25. },
  26. tooltip:
  27. {
  28. trigger: 'axis',
  29. textStyle:
  30. {
  31. fontSize: 10,
  32. fontStyle: 'consolas'
  33. },
  34. formatter: function (params) {
  35. var text = params[0].name + '<br/>';
  36. if (params[0]) {
  37. text = text + params[0].seriesName + ' : ' + params[0].value["最高分"] + '<br/>'
  38. }
  39. if (params[1]) {
  40. text = text + params[1].seriesName + ' : ' + params[1].value["最低分"] + '<br/>'
  41. }
  42. if (params[2]) {
  43. text = text + params[2].seriesName + ' : ' + params[2].value["平均分"] + '<br/>'
  44. }
  45. if (params[3]) {
  46. text = text + params[3].seriesName + ' : ' + params[3].value["级部排名"] * -1 + '<br/>'; // 负数转正数
  47. }
  48. return text;
  49. }
  50. },
  51. toolbox: {
  52. left: 600,
  53. feature: {//各工具配置项。
  54. dataView: {//数据视图工具,可以展现当前图表所用的数据,编辑后可以动态更新。
  55. show: true,//是否显示组件。
  56. readOnly: false
  57. },
  58. magicType: {//动态类型切换 示例:feature: { magicType: {type: ['line', 'bar', 'stack', 'tiled']}}
  59. show: true,
  60. },
  61. restore: { //配置项还原。
  62. show: true
  63. },
  64. saveAsImage: {//保存为图片。
  65. show: true
  66. }
  67. }
  68. },
  69. dataset: {
  70. // 这里指定了维度名的顺序,从而可以利用默认的维度到坐标轴的映射。
  71. // 如果不指定 dimensions,也可以通过指定 series.encode 完成映射,参见后文。
  72. dimensions: ['product', '最高分', '最低分', '平均分', '级部排名'],
  73. source: [
  74. { product: '八年级期末练习1', '最高分': 85, '最低分': 32, '平均分': 56.68, '级部排名': -3 },
  75. { product: '八年级期末练习2', '最高分': 74, '最低分': 27, '平均分': 68, '级部排名': -1 },
  76. { product: '八年级期末练习3', '最高分': 85, '最低分': 35, '平均分': 45, '级部排名': -4 },
  77. { product: '八年级期末练习4', '最高分': 80, '最低分': 30, '平均分': 40, '级部排名': -2 },
  78. ]
  79. },
  80. xAxis: [
  81. {
  82. type: 'category',
  83. boundaryGap: true,
  84. axisLine: {
  85. onZero: false //要点1:让Y轴下来,不加这句话,Y轴在上面 (必要)
  86. },
  87. axisLabel:
  88. {
  89. show: true,
  90. interval: 0,
  91. },
  92. }],
  93. yAxis: [
  94. {
  95. type: 'value',
  96. name: '分数',
  97. max: 160,
  98. min: 0,
  99. splitNumber: 7,
  100. axisLabel:
  101. {
  102. formatter: '{value} '
  103. }
  104. },
  105. {
  106. type: 'value',
  107. name: '排名',
  108. max: 0, //要点2:最大值 (非必要)
  109. min: -8, //要点3:最小值 (非必要)
  110. splitNumber: 7,
  111. axisLabel:
  112. {
  113. formatter: function (v) {
  114. return -v; //要点4:取反显示(必要)
  115. }
  116. }
  117. }],
  118. series: [
  119. {
  120. name: '最高分',
  121. type: 'bar',
  122. },
  123. {
  124. name: '最低分',
  125. type: 'bar',
  126. },
  127. {
  128. name: '平均分',
  129. type: 'bar',
  130. },
  131. {
  132. name: '级部排名',
  133. type: 'line',
  134. yAxisIndex: 1, // 绑定1轴(右边轴)
  135. }]
  136. };
  137. // 使用刚指定的配置项和数据显示图表。
  138. myChart.setOption(option);
  139. </script>
  140. </body>
  141. </html>

发表评论

表情:
评论列表 (有 0 条评论,412人围观)

还没有评论,来说两句吧...

相关阅读