echarts饼装图自定义图例和扇形区的文字

news2025/1/9 5:43:57

最近因为工作需要,需要开发一个大屏,后台给的数据是这个的,echarts是默认将数据data例的name属性作为图例和扇形图上展示文本,这里我需要自定义图例信息和内容,通过这篇文章,记录下如何修改这些内容,基于js和vue2,datav

1.修改图例

1.1先看下页面渲染出来的结果

1.2,在看下实际代码,这里直接抄官方的代码了,为了省事

 import * as echarts from 'echarts'; //引入echarts
  export default {
    mounted() {
      this.opt()
    },
    methods: {
      opt() { 
        const option = {
            title: {
              text: 'Referer of a Website',
              subtext: 'Fake Data',
              left: 'center'
            },
            tooltip: {
              trigger: 'item'
            },
            legend: {
              orient: 'vertical',
              left: 'left'
            },
            series: [
              {
                name: 'Access From',
                type: 'pie',
                radius: '50%',
                data: [  //图列和内容显示的都市name的值
                  { value: 1048, name: '湖南' },
                  { value: 735, name: '上海' },
                  { value: 580, name: '北京' },
                  { value: 484, name: '天津' },
                  { value: 300, name: '河南' }
                ],
                emphasis: {
                  itemStyle: {
                    shadowBlur: 10,
                    shadowOffsetX: 0,
                    shadowColor: 'rgba(0, 0, 0, 0.5)'
                  }
                }
              }
            ]
          
        };
        this.$nextTick(()=>{
          console.log(this.$refs.oil_meter)
          const mychart = echarts.init(this.$refs.oil_meter)
          mychart.setOption(option)
        })
        
      }
  
    },
  }

1.3 对于一般的业务来说,这种用法也足够了,但是,有个特殊的需求,就是,我需要在图例中给湖南后面加上--美好地方,这时候,直接用官方的可能就不行了,这里就需要我们对配置项进行修改,然后修改图例的内容,只修改图例,不修改图示。

,我们在echarts配置项里,找到legend属性,在属性的属性值里在添加一个formatter属性,这个属性的属性值是一个函数,函数接收一个参数,这个参数就是我们要在图例上渲染的内容,有多少内容这个函数就会执行多少次,这个函数必须得return,不然无法在页面上渲染。代码如下

                legend: {
                    selectedMode: false,
                    show: true,
                    right: '4%',
                    itemWidth: 10,
                    itemHeight: 6,
                    top: '6%',
                    textStyle: {
                        color: '#fff',
                    },
                    formatter: function (name) {  //这段代码就是回去图例显示内容的关键
                        console.log(name, 1)
                        return name
                    },
                },

1.4在看下浏览器打印的效果

1.5 这时候 我们是不是修改图例的内容了咧,在函数里判断,然后在根据不同的内容做出不同的return,代码如下

            legend: {
              orient: 'vertical',
              left: 'left',
              formatter: function (name) {
                        if(name=="湖南"){  //判断name是不是湖南,如果是湖南则返回我们拼接的内容,如果不是则正常返回即可
                            return `${name}--是个美丽的地方`
                        }
                        return name
                    },
            },

1.6在看下页面实际效果

2,自定义图示

2.1 第二个需求,就是将图示上的上海修改成 上海--是一个美丽的地方,

实现的步骤和图例答题一直,主要差别就是数据结构和处理函数放置的位置不同

首先看代码,我们先看下函数接收到的内容是上面

 series: [
                    {
                        name: 'Access From',
                        type: 'pie',
                        radius: '50%',
                        data: [  //图列和内容显示的都是拿的name的值
                            { value: 1048, name: '湖南' },
                            { value: 735, name: '上海' },
                            { value: 580, name: '北京' },
                            { value: 484, name: '天津' },
                            { value: 300, name: '河南' }
                        ],
                        emphasis: {
                            itemStyle: {
                                shadowBlur: 10,
                                shadowOffsetX: 0,
                                shadowColor: 'rgba(0, 0, 0, 0.5)'
                            }
                        },
                        label: { //在series里添加label属性,属性值里添加formatter属性,属性值是个函数,函数值接收一个参数,这
                            fontSize: 13,
                            formatter: function (data) { //这个参数是一个对象
                                console.log(data)
                                return data.name
                            }
                        },
                    }
                ]

2.2 浏览器打印的内容,我们能看到,返回的是一个对象,对象里有个name属性,这个属性就是我们需要处理并渲染上的数据,这里也要注意下,这个函数也需要有return返回值,我们直接判断不同的name,然后返回不同的return的值。

2.3 上一步骤我们已经把思路理清了,这时候我们就可以直接操作了

                        label: { //在series里添加label属性,属性值里添加formatter属性,属性值是个函数,函数值接收一个参数,这
                            fontSize: 13,
                            formatter: function (data) { //这个参数是一个对象
                                if(data.name=="上海"){  //判断是否是上海,如果是,则return出一个拼接的数据
                                    return `${data.name}--是一个美丽的城市`
                                }
                                return data.name
                            }
                        },

2.4 看下实际的效果

拜拜!!

重要的不是代码,而是开发思路!!

------香蕉麻花皮

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/690971.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

spring IOC详解

一、IOC IoC就是Inversion of Control,控制反转。在Java开发中,IoC意味着将你设计好的类交给系统去控制,而不是在你的类内部控制。这称为控制反转。 下面我们以几个例子来说明什么是IoC。假设我们要设计一个Girl和一个Boy类,其中G…

【PostgreSQL-16新特性之普通用户的保留连接个数(reserved_connections)】

PostgreSQL数据库为了保证在高并发,高连接数情况下某些用户能够正常连接到数据库里,设立了几个用户连接的保留个数。 本文介绍了PostgreSQL16版本前为超级用户保留的连接数(superuser_reserved_connections)以及PostgreSQL16版本…

【江西省研究生数学建模竞赛】题目之三 植物的多样性 建模方案及参考文献

【江西省研究生数学建模竞赛】题目之三 植物的多样性 建模方案及参考文献 1 题目 2023年江西省研究生数模竞赛题目之三 植物的多样性 植物作为食物链中的生产者,通过光合作用吸收二氧化碳,制造氧气,同时为其他生物提供食物和栖息地&#x…

前端JavaScript入门-day04

(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹) 目录 函数 为什么需要函数 函数使用 函数的声明语法 函数名命名规范 函数的调用语法 函数体 函数传参 声…

Scala集合与Java集合的互转函数asScala与asJava

只有引入隐式转换类 JavaConverters,才能使用Scala集合与Java集合之间的转换函数。 为方便理解,看下面的例子: import scala.collection.JavaConverters._ val javaList java.util.Arrays.asList("hi", "bye") val sca…

Restic文件备份工具

一、Restic介绍 Restic 是一款 GO 语言开发的开源免费且快速、高效和安全的跨平台备份工具。Restic 使用加密技术来保证你的数据安全性和完整性,可以将本地数据加密后传输到指定的存储。Restic 同样支持增量备份,可随时备份和恢复备份。Restic 支持大多数…

一个自动下载网页图片的python小程序

文章目录 1.一些杂七杂八的引入2.实现2.1 安装所需python包2.1.1 requests包2.1.1 BeautifulSoup包 3.源码分享4.效果展示 1.一些杂七杂八的引入 最近是端午节,本人碰巧又刚考完试(数学砸了,估分115,别的还行) 于是……

Oracle 查询优化改写(第六章)

第六章 使用数字 1 常用聚集函数(空值处理) 2 生成累计和 --公司为了查看用人成本,需要对员工的工资进行累加, --以便查看员工人数与工资支出之间的对应关系。 SELECT Empno,Ename,Sal,SUM(Sal) Over(ORDER BY Empno) AS 成本累…

绿色能源外交:国际间合作促进可再生能源全球普及

随着全球气候变化的威胁日益凸显,减少碳排放和转向可持续能源已经成为国际社会的共同目标。在这个背景下,绿色能源外交应运而生。绿色能源外交是指国际间合作,通过技术转让、政策协调和资金支持等手段,推动可再生能源在全球范围内…

文字PDF转换为图片格式的PDF

在我们的日常工作和生活中,有时候我们需要对PDF文件进行一些特殊处理。有时候,我们希望将PDF的每一页提取出来作为图片,方便在其他场景中使用;而有时候,我们则需要将PDF内的内容转换为图片格式,以防止他人对…

docker 操作手册

名词解释 images:封装了应用程序的镜像 tag:镜像的标记,一个镜像可以创建多个标记 container:装载镜像并运行 常用命令 查看容器 docker ps -a //查看全部镜像 启动容器 docker start mysql //启动mysql容器 停止容器 doc…

Python篇——数据结构与算法(第七部分:树)

目录 1.树与二叉树 2.树的实例:模拟文件系统 3.二叉树 4.二叉树的遍历 5.二叉搜索树 5.1插入 5.2查询 5.3删除 1.树与二叉树 2.树的实例:模拟文件系统 # 树的实例 class Node:def __init__(self, name, typedir):self.name nameself.type typ…

springboot集成mybatisPlus

1、添加依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-jav…

Mysql快速生成Java实体类

需求缘由 在使用MybatisPlus过程中&#xff0c;就肯定会创建实体类&#xff0c;虽然 MybatisPlus 也为我们提供了代码生成器&#xff0c;但是我感觉功能有点多了&#xff0c;我只需要创建实体的方法即可&#xff0c;假如我想快速将上述表转为如下的Bean对象&#xff0c;该怎么搞…

arcgis api for JavaScript4.2x 在vue中白膜图层的加载、(分类、分段)渲染

这篇文章是对有webgis前端开发经验的人 1、假设之前的三维视图均已成功加载&#xff0c;获取到了三维视图&#xff0c;这里的三维视图变量定义的名字是mapView。&#xff08;PS&#xff1a;三维视图mapview在项目初始化已经设置了&#xff0c;本示例中会直接使用调用结果&…

CentOS 8安装Oracle 19c rpm包

一、环境 centos 8 oracle 19c rpm安装 二、安装前准备 1、创建用户组 groupadd oinstall groupadd dba useradd -g oinstall -G dba oracle passwd oracle2、安装依赖包 如果yum找不到安装包&#xff0c;可以去下载 https://centos.pkgs.org/ 点击跳转 缺少的依赖包可…

Salesforce流程自动化Flow_Pause功能揭秘!

通过自动化&#xff0c;帮助团队提升效率&#xff0c;将员工从那些重复、枯燥、耗时的工作中解放出来&#xff0c;转而从事更具创造性、更有价值的工作&#xff0c;是很多企业数字化转型朴素而又迫切的需求&#xff0c;也是世界No.1 CRM——Salesforce的一大领先优势。 Flow B…

Java集合框架:优先级队列、PriorityQueue详解

目录 一、优先级队列介绍 1. 什么是大根堆&#xff08;大堆&#xff09;和小根堆&#xff08;小堆&#xff09; 2. 堆的性质 二、堆的创建 1. 向下调整建堆 向下调整算法代码实现&#xff1a; 2. 创建大根堆 三、堆的插入和删除&#xff08;向上调整算法&#xff09; …

Linux性能瓶颈分析之TOP指标分析

Linux性能瓶颈分析之TOP指标分析 文章目录 Linux性能瓶颈分析之TOP指标分析一、查看CPU二、监控CPU总结 一、查看CPU 1.查看cpu基础信息 lscpu2.查看cpu详细信息 cat /proc/cpuinfo3.统计cpu信息 cat /proc/cpuinfo |grep "physical id" |sort |uniq |wc -l 查看…

骨传导耳机可以长期佩戴吗,分享几款舒适度极高的骨传导耳机

近几年有一种新型传播方式的耳机&#xff0c;将声音转化为振动&#xff0c;从而让我们的听觉神经感知到。这种声音传播方式叫做"骨传导"&#xff0c;所以叫做骨传导耳机。因为它不需要通过耳膜进行传播声音&#xff0c;所以可以让耳朵在不接触外界的情况下听到声音。…