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