echarts折线每个都要有一个上限值,原来的值和上线值就是两条曲线,如何实现呢?

后台传递的数据如下

let myData  = [
    [{
    id:1,
    maxvalue:20,
    value:15,
    name:"1号"
      },{
    id:2,
    maxvalue:20,
    value:15,
    name:"1号"
      },{
    id:3,
    maxvalue:20,
    value:15,
    name:"1号"
}],
    [{
    id:4,
    maxvalue:20,
    value:15,
    name:"2号"
      },{
    id:5,
    maxvalue:20,
    value:15,
    name:"2号"
      },{
    id:6,
    maxvalue:20,
    value:15,
    name:"2号"
}],[{
    id:7,
    maxvalue:20,
    value:15,
    name:"3号"
      },{
    id:8,
    maxvalue:20,
    value:15,
    name:"3号"
      },{
    id:9,
    maxvalue:20,
    value:15,
    name:"3号"
}],
]

我现在可以正常显示曲线,但是加上上线值的曲线我就不知道怎么显示了

            let myData = response.data.data;
                        var arrOne_FH = [];
                        var arrOne_FH_val = [];
                        var arrName = [];
                        let Onezhi;
                        for(var i=0;i<myData.length;i++){
                            let arr=[];
                             for(var j=0;j<myData[i].length;j++){
//                                arr.push(myData[i][j].value);//这里如果是arr.push(myData[i][j].value)就是值,如果是arr.push(myData[i][j].maxvalue) 就都是最大值,我希望的是原来如果是3条曲线,那么加上每个的上限值曲线就是6条曲线-------(核心问题)
                                if(i == 0){//单独处理时间的数组
                                    arrOne_FH.push(myData[i][j].record_time.slice(11, 16));//处理时间
                                }
                             }
                             arrName.push(myData[i][i].name);
                             optionFH.series[i].data = arr.reverse();//-------(核心问题)
                             optionFH.series[i].name = myData[i][i].target_name;//一号机组到8号机组
                        }
                                    var resv = arrOne_FH.reverse();
                                   log(optionFH.series[0].data);
//                                  log(resv);
//                                  arrOne_FH_val.reverse();
                                     
                                     optionFH.legend.data = arrName;   //设置右上角的文字

                                    optionFH.xAxis.data = resv;
                                      log(optionFH.xAxis.data);
                        
                             myChart.setOption(optionFH,true);
                                      
                                

预期的效果

clipboard.png

阅读 2.6k
2 个回答

你的maxvalue是每一组都是一样的吗?
可以用echarts的标线markLine

markLine-demo

series: [{
        name: '预算收入',
        type: 'line',
        data: data,
        markLine: {
            data: [{
                name: 'Y 轴值为 100 的水平线',
                yAxis: 100
            }]
        }
    },]
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题