程序员

ECharts折线图多个折线每次只显示一条

2017-09-20  本文已影响0人  是阿离

问题

一个折线图中有多条折线。由于折线之间数值范围相差较大(折线A范围[0-50],折线B范围[10000-20000]……),如果用单Y轴来表示,折线的变化趋势不明显。

解决方案

1、最开始想到的是多Y轴方式,每个折线对应一个Y轴

    var option = {
      ……
      yAxis : [
          {
              name : "A",
              type : 'value',
              scale : false,
              show : true,
              splitLine:{  
                show:true  
            }, 
              position : 'left',
          },
          {
              name : "B",
              type : 'value',
              scale : true,
              show : false,
              splitLine:{  
                show:false  
            },
              position : 'right',
          },
          {
              name : "C",
              type : 'value',
              scale : true,
              show : false,
              splitLine:{  
                show:false  
            },
              offset: 50,
              position : 'left'
          },
          ……
      ],
      series : [
          {
              name:'A',
              type:'line',
              yAxisIndex:0,
              data:AArr,
          },
          {
              name:'B',
              type:'line',
              yAxisIndex:1,
              data:BArr,
          },
          {
              name:'C',
              type:'line',
              yAxisIndex:2,
              data:CArr,
          },
          ……
        ]
    };

这样就可以将多个折线对应多个Y轴。但当Y轴过多时(实际使用时有6条曲线),会显得页面太复杂。

2、在方案1的基础上不显示Y轴,只显示折线变化趋势

    var option = {
      ……
      yAxis : [
          {
              name : "A",
              type : 'value',
              scale : false,
              show : false,
              splitLine:{  
                show:false  
            }, 
              position : 'left',
          },
          ……
      ],
      ……
    };

每个Y轴都这样隐藏后,Y轴不再展示,界面只展示折线的变化趋势。但这样无法通过Y轴得到每条折线的大概范围,只能去选择折线的最高点与最低点来判断,也不够直接。

3、每次只展示一条折线

  var option = {
      legend: {
        x : 'center',
        borderWidth : '1',
        data:YDescrib,
        selectedMode: 'single',
      },
      calculable : true,
      xAxis : [
          {
              type : 'category',
              boundaryGap : false,
              data : xScale
          }
      ],
      yAxis : [
          {
              type : 'value',
              scale : true,
              show : true,
              splitLine:{  
                show:true  
            }, 
          },
      ],
      series : [
          {
              name:'A',
              type:'line',
              data:AArr,
          },
          {
              name:'B',
              type:'line',
              data:BArr,
          },
          {
              name:'C',
              type:'line',
              data:CArr,
          },
          ……
      ]
  };

通过设置为singlescale:true后,对Y轴进行复用,并每次只展示一条折线,这样能够较好的展示每个折线的变化趋势与大致范围,不过一次看不了多个折线的……

参考文章

ECharts3.0文档配置项
ECharts2.0文档
echarts折线图多条折线的时候怎么控制每次只能限制1条

上一篇 下一篇

猜你喜欢

热点阅读