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

问题

一个折线图中有多条折线。由于折线之间数值范围相差较大(折线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,
          },
          ……
        ]
    };
  • position 坐标轴类型,横轴默认为类目型'bottom',纵轴默认为数值型'left',可选为:'bottom' | 'top' | 'left' | 'right'
  • offset Y 轴相对于默认位置的偏移,在相同的 position 上有多个 Y 轴的时候有用。
  • yAxisIndex 当不指定时默认控制所有纵向类目,可通过数组指定多个需要控制的纵向类目坐标轴Index,仅一个时可直接为数字。第一个Y轴yAxisIndex为0

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

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

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

每个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,
          },
          ……
      ]
  };
  • selectedMode [ default: true ] 图例选择的模式,控制是否可以通过点击图例改变系列的显示状态。默认开启图例选择,可以设成 false 关闭。除此之外也可以设成 'single' 或者 'multiple' 使用单选或者多选模式。

  • yAxis scale [ default: false ] 是否是脱离 0 值比例。设置成 true
    后坐标刻度不会强制包含零刻度。在双数值轴的散点图中比较有用。在设置 minmax 之后该配置项无效。

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

参考文章

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Matplotlib 入门教程 来源:Introduction to Matplotlib and basic l...
    布客飞龙阅读 31,935评论 5 162
  • 直方图主要用在数据图表,作为对比数据,用柱体高度的高低,形象直观地表达出来,往往与折线图配合使用,而折线图便于从众...
    理想是试阅读 1,017评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,238评论 19 139
  • 一、实验目的 学习使用 weka 中的常用分类器,完成数据分类任务。 二、实验内容 了解 weka 中 explo...
    yigoh阅读 8,681评论 5 4
  • virtualenv virtualenv是用来创建一个独立的Python虚拟环境的工具,通过virtualenv...
    JimmyAnn阅读 780评论 0 0