series

series,系列列表。
每个系列通过type决定自己的图表类型。
type的值可以有:line,bar,pie,radar,map,gauge等。

legend

legend,图例组件

图例组件展现了不同系列的标记(symbol),颜色和名字。可以通过点击图例控制哪些系列不显示。

当图例数量过多时,可以使用滚动图例(垂直)或滚动图例(水平)

series与legend的关联

可以再看清楚legend的概念,legend是可以指导series的显示与否。

series.name 是与 legend.data.name对应的。

单个series里多个data与多个series

多个series与单个series多个data的配置是会产生差异性的

单个series里多个data

例如:

  1. option = {
  2. title: {
  3. text: 'Awesome Chart'
  4. },
  5. xAxis: {
  6. data: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']
  7. },
  8. yAxis: {},
  9. series:{
  10. type: 'line',
  11. data:[
  12. 220,
  13. {
  14. naem:'fang',
  15. value:564,
  16. itemStyle:{
  17. }
  18. },
  19. 290, 330, 310]
  20. }
  21. };

单个series里面的data,会根据data数组的index对应x轴的刻度,如果data里有项是空的话,则跳过。
像上面的例子,我们就可以配置每一个line点的style,阴影圆角等。
甚至可以通过一个函数来返回data的数组配置,达到动态的变化,定制不同的item。

  1. var colorSource = ['red', 'white', 'black']
  2. series:{
  3. type: 'line',
  4. data:function(){
  5. return colorSource.Object.keys().map( e => {
  6. ...
  7. })
  8. }
  9. }

多个series

首先要明确一个问题,每个series都是会根据series的data跟着x轴渲染的,所以有多个series的时候,就会发生series的重叠。
这个重叠指的是x轴上的重叠,两个series根据x轴挤在一起了

  1. series: [
  2. {
  3. data: [120, 200, 150, 80, 70, 110, 130],
  4. type: 'bar',
  5. showBackground: true,
  6. backgroundStyle: {
  7. color: 'rgba(220, 220, 220, 0.8)'
  8. }
  9. },
  10. {
  11. data: [120, 200, 150, 80, 70, 110, 130],
  12. type: 'bar',
  13. showBackground: true,
  14. backgroundStyle: {
  15. color: 'rgba(220, 220, 220, 0.8)'
  16. }
  17. },
  18. ]

image.png

stack

当series.stack相同的时候,图表就会上下叠在一起

设置series.stack:1

  1. series: [
  2. {
  3. data: [120, 200, 150, 80, 70, 110, 130],
  4. type: 'bar',
  5. showBackground: true,
  6. backgroundStyle: {
  7. color: 'rgba(220, 220, 220, 0.8)'
  8. },
  9. stack:1
  10. },
  11. {
  12. data: [120, 200, 150, 80, 70, 110, 130],
  13. type: 'bar',
  14. showBackground: true,
  15. backgroundStyle: {
  16. color: 'rgba(220, 220, 220, 0.8)'
  17. },
  18. stack:1
  19. },
  20. ]

image.png