大家好,欢迎来到IT知识分享网。
想要的效果: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’, //垂直排列显示
修改这个属性后,顺序是竖着排列,
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/141783.html