echarts使用关于legend显示的坑

        官方实例里面legend样式很简单,项目中遇到一个要显示数值和百分比的,并且数据是动态的,自己查了一下才发现legend里的formatter 设置有点特别

在此记录一下免得以后再次遇到

segmentfault里看到的文章的解决方式

formatter: function(name) {
                var index = 0;
                data.dataTwo.forEach(function(value,i){
                    if(value == name){
                        index = i;
                    }
                });
                return name + "    " + data.dataThree[index] + "个";
            }

自己修改后的,可能写的有点复杂

formatter: function ( e ) {
var total = 0
for ( var i = 0 ; i < option . series [ 0 ]. data . length ; i ++ ) {
total += option . series [ 0 ]. data [ i ]. value
}
for ( i = 0 ; i < option . series [ 0 ]. data . length ; i ++ ) {
var ePercent = ( option . series [ 0 ]. data [ i ]. value / total * 100 ). toFixed ( 2 ) + '%'
if ( option . series [ 0 ]. data [ i ]. name === e ) {
return e + ' ' + option . series [ 0 ]. data [ i ]. value + ' ' + ePercent
}
}
}
},

你可能感兴趣的:(记录遇到的坑)