echarts实现多条折线分别分段展示颜色

547 阅读1分钟

使用echarts实现折线分段展示不同颜色

6E03B50B-789C-41ba-B0D7-18B50545AA6B.png 遇到个需求,如图所示,当Y轴的值超过某个范围时,让线段变颜色,echarts好像只能设置一条折线一个颜色,百度了一圈解决方案,全是把官网文档cv到博客的,没有参考价值。

于是乎,跑去啃官方文档,比较符合的一个配置API是visualMap-piecewise.pieces,官网称之为分段式视觉映射组件(visualMapPiecewise),简而言之是将series的data映射到pieces数组中并适用其规则

image.png

使用方法如上图所示,比较重要的一个属性是dimension,因为我这里series的data是个二维数组,dimension的值给了1,实际使用根据自己的数据结构来决定。当我以为问题到这里解决了的时候,新问题来了,我需要给每条折线设置一条不同的分段展示规则,但visualMap只支持全局设置,不支持写在series里面,又找到了个属性

visualMap-piecewise. seriesIndex

这个属性可以控制visualMap通过下标取series里对应的折线,测试了一下demo是可以的,有空再改真实数据测试。最后的解决方案应该就是把visualMap改成数组,每个折线设置对应的区间值。

希望能帮到遇到类似问题的人。