echarts纵坐标使用科学计数法表示

2020-09-29  本文已影响0人  小白的踩坑日常

出自:
https://www.cnblogs.com/zhxuxu/p/10634392.html
核心代码:

     //纵坐标使用科学计数法表示
                                yAxis:{ 
                                        axisLabel: {
                                        formatter: function (value) {
                                            var res = value.toString();                                            
                                            var numN1 = 0; 
                                            var numN2 = 1;
                                            var num1=0;
                                            var num2=0;
                                            var t1 = 1;
                                            for(var k=0;k<res.length;k++){
                                                if(res[k]==".")
                                                   t1 = 0;
                                                if(t1)
                                                   num1++;
                                                else
                                                   num2++;                                                                                              
                                            }
                                                                                           
                                            if(Math.abs(value)<1 && res.length>4)
                                            {
                                                for(var i=2; i<res.length; i++){                                              
                                                    if(res[i]=="0"){
                                                        numN2++;
                                                    }else if(res[i]==".")
                                                        continue;
                                                    else
                                                        break;
                                                }
                                                var v = parseFloat(value);                                                
                                                v = v * Math.pow(10,numN2);
                                                return v.toString() + "e-" + numN2;
                                            }else if(num1>4)
                                            {
                                                if(res[0]=="-")
                                                    numN1 = num1 - 2;
                                                else
                                                    numN1 = num1 - 1;
                                                var v = parseFloat(value);                                                
                                                v = v / Math.pow(10,numN1);
                                                if(num2 > 4)
                                                    v = v.toFixed(4);
                                                return v.toString() + "e" + numN1;
                                            }else
                                                return parseFloat(value);                                                                                  
                                        }
                                    }
                                },
上一篇 下一篇

猜你喜欢

热点阅读