很久很久以前,我刚使用echarts更新一篇关于echartsformatter实现动态legendblog很多人来问是如何实现的,一直很忙,懵懵懂懂也在没看,近来抽时间更新了一下实现方式

类似于以下这种图例很多新手没办法下手了,其实直接使用echarts属性格式formatter可以解决了,因为formatter一个标准function,可以在其中对数据进行一些操作最后返回想要展现的数据即可
在这里插入图片描述

data(){
 let that = this
 return{ 
	option:>>legend
	legend: {
	    orient:'vertical',
	    // top: 'center',
	    top: '8%',
	    right: '13%',
	    width: '50%',
	    fontSize:'14',
	    itemGap:8,
	    itemHeight: 10,   //图例大小
	    formatter: function(labelName) {
	      const { dataList } = that
	      for (let index = 0; index < dataList.length; index++) {
	        const { name, value, percentage } = dataList[index];
	        if (dataList[index].name == labelName) {
	          return `${labelName}   ${value}   ${percentage}`
	        }
	      }
	    }
	  },
	}
}

实现效果
在这里插入图片描述
实现思路formatter参数返回的是当前legendlabel,因此只需要当前label匹配图表数据中的那么,然后获取name所属的item 的数据return展示即可

这次用的是data中的数据来展示legend,之前用的是series的数据,因为初始化数据和更新图表都是直接修改series中的data

ps注意formatter中的this是undefined的,所以需要读取data中的数据时需要现在data()函数中将this赋值操作,这样以便开发者直接拿到data中的数据进行操作

原文地址:https://blog.csdn.net/kirinlau/article/details/128085591

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_49647.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注