echarts中折线图分段显示

直接上图看效果

在这里插入图片描述

可以看到绿色和黄色的数据是在同一条线上的,实际上他们是两个不同的数据里面的,但是中间有个衔接点。

实现的基本原理

这里的数据是直接提供了时间和对应的点位信息,计划值是独立的,而纠偏和实际是需要是把他们分开,这里直接用split将他们拆成两份,actData和correctData,注意,两者是有一个衔接点的,所以实际的最后一位数据和纠偏的第一个数据要一样才能完全衔接

然后根据时间数组的长度,依次填充"-"

this.type.forEach((item,index)=>{
     if(!this.actData[index]){
       this.actData.push("-")
     }
     if(this.type.length>this.correctData.length){
       this.correctData.unshift("-")
     }
   })
// type是时间数组
// actData是实际的,所以是从数组的最后开始填充"-"
// correctData是纠偏的,所以是从数组的头部填充"-"

之后再把这些数据放到series中对应的data里,就可以实现效果啦

还有一点,这里数据有点多,而项目要求也是要展示折线图中所有的点,在对应的data里面添加 showAllSymbol: true即可

series: [
    {
       name:"计划",
       data: planData,
       type: 'line',
       symbol:"circle",
       symbolSize:4,
       showAllSymbol: true,
     },
     {
       name:"纠偏",
       data: correctData,
       type: 'line',
       symbol:"circle",
       symbolSize:4,
       showAllSymbol: true,
     },
     {
       name:"实际",
       data: actutal,
       type: 'line',
       symbol:"circle",
       symbolSize:4,
       showAllSymbol: true,
     }
  ]
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 使用 echarts 的 itemStyle 属性,可以设置折线段的颜色。可以参考官网文档:https://echarts.apache.org/zh/option.html#series-line.itemStyle ### 回答2: 在Echarts折线图,要实现折线分段显示不同的颜色,可以通过使用"series"的"itemStyle"属性来实现。 首先,在数据项,我们可以设置每个数据点的特定颜色,例如: ```javascript data: [ {value: 120, itemStyle: {color: 'red'}}, {value: 200, itemStyle: {color: 'blue'}}, {value: 150, itemStyle: {color: 'green'}} ] ``` 然后,在图表的配置项,找到对应的series配置项,设置"itemStyle"属性为一个函数,这个函数将根据数据项的颜色进行渲染: ```javascript series: [{ type: 'line', data: [ {value: 120, itemStyle: {color: 'red'}}, {value: 200, itemStyle: {color: 'blue'}}, {value: 150, itemStyle: {color: 'green'}} ], itemStyle: function (params) { return params.data.itemStyle; } }] ``` 这样配置后,折线图的每个数据点将根据其特定颜色进行渲染,从而实现了折线分段显示不同的颜色。 需要注意的是,以上示例是基于Echarts4的配置方式,如果是其他版本可能会有些许差异。另外,为了使折线图更加美观,也可以在"itemStyle"配置其他样式,如设置线条粗细、线条样式等。希望以上回答对你有所帮助。 ### 回答3: 要实现echarts折线图折线分段显示不同的颜色,可以使用echarts的区域标记功能。 首先,需要设置折线图的x轴数据和y轴数据。然后,使用series配置项的markArea属性来标记不同的区域。 例如,我们有以下数据: ```javascript // x轴数据 var xData = ['周一', '周二', '周三', '周四', '周五', '周六', '周日']; // y轴数据 var yData = [120, 200, 150, 80, 70, 110, 130]; ``` 然后,在series配置项设置markArea属性,来标记不同的区域: ```javascript series: [{ type: 'line', data: yData, markArea: { data: [{ yAxis: 0, // 区域起始位置 itemStyle: { color: 'rgba(255, 0, 0, 0.3)' // 区域颜色 } },{ yAxis: 100, // 区域终止位置 itemStyle: { color: 'rgba(0, 255, 0, 0.3)' // 区域颜色 } }] } }] ``` 以上代码,我们设置了两个区域,一个从y轴0开始,另一个从y轴100开始。通过设置itemStyle的color属性来指定不同区域的颜色。 最后,将x轴数据和series配置项应用到echarts实例,即可实现折线图折线分段显示不同的颜色。 ```javascript var myChart = echarts.init(document.getElementById('chart')); myChart.setOption({ xAxis: { data: xData }, series: [{ type: 'line', data: yData, markArea: { data: [{ yAxis: 0, itemStyle: { color: 'rgba(255, 0, 0, 0.3)' } },{ yAxis: 100, itemStyle: { color: 'rgba(0, 255, 0, 0.3)' } }] } }] }); ``` 这样,echarts折线图的折线就会按照设定的区域进行分段显示,每个区域的颜色也会根据设置来呈现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值