echarts lengend格式化和换行

想要的效果:lengend即格式化又换成两行

第一步:格式化文字部分:

在lengend属性内加入

formatter: function (name) {
          //这个data数据其实就是series里要用到的data
          let data = [{"name":"20岁以下","value":"500"},{"name":"20-40岁","value":"2"},{"name":"40-60岁","value":"1"},{"name":"60岁以上","value":"0"}]

          let total = 0;// 统计总量
          let tarValue = 0; // 目前的数值,由于data数据是string型,所以有这步
          // 遍历去给上门两个变量赋值,并返回新的格式化数据
          if (data) {
            for (let i = 0, l = data.length; i < l; i++) {
              total += parseInt(data[i].value);
              if (data[i].name == name) {
                tarValue = parseInt(data[i].value);
              }
            }
            let p = ((tarValue / total) * 100).toFixed(0);
            return name + ' ' + ' ' + p + '%';
          } else {
            return name
          }
        }

2.第二步换行,lengend内加入

orient: 'horizontal',  //水平排列显示
align: 'left', //图例在左,文字在右
top: '75%',// 这个是重要信息,因为是横着排列,如果这个值过大,没有空间换行
width: '230',// 这个定义图例的总宽度,
textStyle: {
          color: '#fff',
        // 这个宽度和上一级的宽度,有关系,这个宽度略小于上一级的一半,则第三个就会换行
          width: 106,
          overflow: 'break',
        },

这样做的结果:

发现后面环图图例第二行的第二个,没有对齐,测试又叨叨一回

第二版:

格式化没问题就是换行有问题,

orient: 'vertical',  //垂直排列显示

修改这个属性后,顺序是竖着排列,

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值