eCharts标域markArea分区域显示不同颜色


需求:利用eCharts做一个数据折线图,分为 等待数量请求数量

百分比 = 等待数量/请求数量(四舍五入,截取两位有效数字)

  • 0% < 百分比 <= 50%   标域显示绿色
  • 50% < 百分比 <100%  标域显示黄色
  • 百分比 >= 100% 标域显示红色

下面展示部分关键代码:

先声明两个数组:

1 //存储百分比
2 var percent = new Array();
3 //存储标域根据百分比划分要显示的颜色和位置
4 var markData= new Array(); 

此部分为eCharts数据展示

1 series : [{
2     name:'请求量',
3     type:'line',
4     markArea : {
5         data:markData
6     }
7 }]

 

接下来做数据判断划分相应百分比的颜色和显示的位置

getPercent();存储百分比得到,percent(四舍五入,截取两位有效数字),此方法在这里不是关键,所以不做展示了

 1 function getMarkData(index,colors) {
 2         var data = [{
 3             xAxis: index,
 4             yAxis:0,
 5             itemStyle:{
 6                 color: colors
 7             }
 8         },{
 9             xAxis: index + 1; 
10         }];
11         markData.push(data);
12     }
13     
14     function markArea(){
15         //用于获取百分比
16         getPercent();
17         for(var i = 0 ; i < percent.length ; i++){
18             if(percent[i] > 0 && percent[i] <= 0.5){
19                 getMarkData(i,'green');
20             }else if(percent[i] >= 1){
21                 getMarkData(i,'red');
22             }else if(percent[i] > 0.5 && percent[i] < 1){
23                 getMarkData(i,'yellow');
24             }else{
25                 getMarkData(i,'white');
26             }
27         }
28     }

最后直接调用就可以了。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM