echarts三系列柱状图

三系列柱状图图表效果如下:


具体代码如下:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>三系列柱状图案例 </title>
  6. <!-- 引入 ECharts 文件 -->
  7. <script src="js/echarts4.0.js" type="text/javascript" charset="utf-8"> </script>
  8. </head>
  9. <body>
  10. <!-- 为 ECharts 准备一个具备大小(宽高)的 容器 -->
  11. <div id="chart1" style="width: 80%;height: 400px;top: 50px;left: 10%;border: 3px solid #FF0000;"> </div>
  12. </body>
  13. </html>
  14. <script type="text/javascript">
  15. // 基于准备好的容器(这里的容器是id为chart1的div),初始化echarts实例
  16. var chart1 = echarts.init( document.getElementById( "chart1"));
  17. var dataX = [ '幼儿园', '小学', '中职', '初中', '高职', '高中', '大专', '本科', '硕士', '博士', '其它'];
  18. var dataY1 = [ 100, 350, 500, 680, 880, 660, 500, 460, 340, 290, 180]; // 总和
  19. var dataY2 = [ 80, 250, 350, 480, 580, 360, 260, 200, 240, 200, 95]; // 市内
  20. var dataY3 = [ 20, 100, 150, 200, 300, 300, 240, 260, 100, 90, 85]; // 市外
  21. option = {
  22. backgroundColor: '#000',
  23. title : { // 标题
  24. text : '各教育阶段人数统计', // 标题文本内容
  25. left : 'center', // 标题左右居中
  26. textStyle : { // 标题样式
  27. color : '#ddd', // 标题字体颜色
  28. fontSize : '30', // 标题字体大小
  29. }
  30. },
  31. legend: {
  32. textStyle: {
  33. color: '#fff',
  34. },
  35. top: "35%",
  36. right: "2%", // 图例组件离容器右侧的距离。
  37. orient: 'vertical', // 图例列表的布局朝向,'horizontal'为横向,'vertical'为纵向.
  38. data: [ '总和', '市内', '市外']
  39. },
  40. grid: {
  41. containLabel: false // grid 区域是否包含坐标轴的刻度标签。
  42. // false : 这比较适用于多个 grid 进行对齐的场景,因为往往多个 grid 对齐的时候,是依据坐标轴来对齐的。
  43. // true :这常用于『防止标签溢出』的场景,标签溢出指的是,标签长度动态变化时,可能会溢出容器或者覆盖其他组件。
  44. },
  45. tooltip: {
  46. show: "true",
  47. trigger: 'item',
  48. //backgroundColor: 'rgba(0,0,0,0.7)', // 背景
  49. //padding: [8, 10], //内边距
  50. //extraCssText: 'box-shadow: 0 0 3px rgba(255, 255, 255, 0.4);', //添加阴影
  51. formatter : "{a}<br/>{b} : {c}人"
  52. },
  53. xAxis: {
  54. type: 'category',
  55. axisTick: {
  56. show: true
  57. },
  58. axisLine: {
  59. show: true,
  60. lineStyle: {
  61. color: '#fff',
  62. }
  63. },
  64. axisLabel: {
  65. inside: false,
  66. textStyle: {
  67. color: '#fff',
  68. fontWeight: 'normal',
  69. fontSize: '12',
  70. },
  71. formatter: function(value){
  72. return value.split( "").join( "\n")
  73. },
  74. },
  75. data: dataX
  76. },
  77. yAxis: {
  78. type: 'value',
  79. axisTick: {
  80. show: true
  81. },
  82. axisLine: {
  83. show: true,
  84. lineStyle: {
  85. color: '#fff',
  86. }
  87. },
  88. splitLine: {
  89. show: true,
  90. lineStyle: {
  91. color: '#fff',
  92. type: 'dashed',
  93. opacity: 0.5
  94. }
  95. },
  96. axisLabel: {
  97. textStyle: {
  98. color: '#fff',
  99. fontWeight: 'normal',
  100. fontSize: '12',
  101. },
  102. },
  103. },
  104. series: [{
  105. name: '总和',
  106. type: 'bar',
  107. itemStyle: {
  108. normal: {
  109. show: true,
  110. color: new echarts.graphic.LinearGradient( 0, 0, 0, 1, [{
  111. offset: 0.3,
  112. color: '#00BFFF'
  113. }, {
  114. offset: 1,
  115. color: '#0500ff'
  116. }]),
  117. barBorderRadius: 0,
  118. borderWidth: 0,
  119. }
  120. },
  121. zlevel: 2,
  122. barWidth: '10%',
  123. data: dataY1
  124. }, {
  125. name: '市内',
  126. type: 'bar',
  127. itemStyle: {
  128. normal: {
  129. show: true,
  130. color: new echarts.graphic.LinearGradient( 0, 0, 0, 1, [{
  131. offset: 0,
  132. color: '#01babc'
  133. }, {
  134. offset: 0.5,
  135. color: '#fff'
  136. }, {
  137. offset: 1,
  138. color: '#01babc'
  139. }]),
  140. barBorderRadius: 0, // (默认为0,即方角)圆角半径,单位px,支持传入数组分别指定 4 个圆角半径。 如:barBorderRadius: [5, 5, 0, 0] //(顺时针左上,右上,右下,左下)
  141. borderWidth: 0, // 柱条的描边宽度,默认不描边。
  142. }
  143. },
  144. zlevel: 2, // 柱状图所有图形的 zlevel 值。zlevel用于 Canvas 分层,不同zlevel值的图形会放置在不同的 Canvas 中,Canvas 分层是一种常见的优化手段。我们可以把一些图形变化频繁(例如有动画)的组件设置成一个单独的zlevel。需要注意的是过多的 Canvas 会引起内存开销的增大,在手机端上需要谨慎使用以防崩溃。zlevel 大的 Canvas 会放在 zlevel 小的 Canvas 的上面。
  145. barGap: '100%', // 柱间距离,可设固定值(如 20)或者百分比(如 '30%',表示柱子宽度的 30%)。如果想要两个系列的柱子重叠,可以设置 barGap 为 '-100%'。这在用柱子做背景的时候有用。在同一坐标系上,此属性会被多个 'bar' 系列共享。此属性应设置于此坐标系中最后一个 'bar' 系列上才会生效,并且是对此坐标系中所有 'bar' 系列生效。
  146. data: dataY2
  147. }, {
  148. name: '市外',
  149. type: 'bar',
  150. barWidth: '10%',
  151. itemStyle: {
  152. normal: {
  153. show: true,
  154. color: new echarts.graphic.LinearGradient( 0, 0, 0, 1, [{
  155. offset: 0,
  156. color: '#7049f0'
  157. }, {
  158. offset: 0.5,
  159. color: '#fff'
  160. }, {
  161. offset: 1,
  162. color: '#7049f0'
  163. }]),
  164. barBorderRadius: 0,
  165. borderWidth: 0,
  166. }
  167. },
  168. zlevel: 2,
  169. barGap: '100%',
  170. data: dataY3
  171. }
  172. ]
  173. };
  174. // 使用刚指定的配置项和数据显示图表
  175. chart1.setOption(option)
  176. </script>

想要使用该图表,只需要  复制以上代码  ,再下载    echarts.js  在页面文件中引入即可. 

echarts.js 下载链接:    http://echarts.baidu.com/download.html

猜你喜欢

转载自blog.csdn.net/rui512777/article/details/80911264