使用echarts插件画半环形图,并保证百分比之和为100%



      有需求将使用半环状图展示数据百分比,搜索后发现大部分改成半环状图后,百分比相加为50%,本来考虑修改自带的js文件中formatter方法,但是因为找不到怎么改。

      后搜索文章http://blog.csdn.net/aa97257540/article/details/52101652的半环状图后,有了修改formatter方法的想法。

     在http://blog.csdn.net/yanmh007/article/details/72235253文章的基础上,对formatter方法进行了修改。

      修改的代码为:

        formatter: function(param){
                    var str = '<style>td{padding:5px;}</style><table>';
                     var c = (param['value']/a)*100;
                    c = c.toFixed(2);  
                   str  = str + c + "%";
                    return str 
        }
      
    全部代码为:

var data=[{value:335, name:'直接访问'},

		  {value:310, name:'邮件营销'},]


//计算data中value的总和
var a=0;
for(var i=0; i<data.length; i++)
{
  a+=data[i].value;
}

//添加新的元素到data中,并设置其颜色样式为白色

data.push({value:a, name:'__other', itemStyle:{normal:{color:'rgba(0,0,0,0)'}}});
console.log(data);
option = {

    tooltip : {
        trigger: 'item',
        formatter: function(param){
                    var str = '<style>td{padding:5px;}</style><table>';
                     var c = (param['value']/a)*100;
                    c = c.toFixed(2);  
                   str  = str + c + "%";
                    return str 
        }
      
    },
    series : [
        {
            name: '访问来源',
            type: 'pie',
            startAngle:180,
            radius :  ['50%', '60%'],
            center: ['50%', '60%'],
            data:data,
            itemStyle: {
                emphasis: {
                    shadowBlur: 10,
                    shadowOffsetX: 0,
                    shadowColor: 'rgba(0, 0, 0, 0.5)'
                }
            }
        }
    ]
}; 

结果如下图:


  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值