Echarts中常用的参数总结以及参数自定义示例

news2024/12/26 16:37:31

🐱个人主页:不叫猫先生
🙋‍♂️作者简介:前端领域新星创作者、华为云享专家、阿里云专家博主,专注于前端各领域技术,共同学习共同进步,一起加油呀!
💫系列专栏:vue3从入门到精通
📝个人签名:不破不立

目录

  • 折线图
    • 1.title
    • 2.tooltip
    • 3.grid
    • 4.legend
    • 5.xAxis
    • 6.yAxis
    • 7.series
  • 附:常见问题
    • 1、自定义X轴文字(文字替换)
    • 2、自定义X轴文字(文字换行)
    • 3、自定义tooltip

本文主要讲解使用Echarts时setOption里面的属性以及常见的问题,参数都是本人项目里的具体参数。设置内容都是在 setOption({ })中。

折线图

图示:
在这里插入图片描述

1.title

title:设置图标标题

  • text:标题名称
  • left:标题定位方向
  • top、left:定位
  • textStyle:标题样式
    • color:标题颜色
   title: {
        text: '答辩评分趋势',
        left: 'left',
        top: 20,
        left: 20,
        textStyle: {
            color: '#679CF6'
             }
       }

2.tooltip

tooltip:提示框

  • trigger:触发类型(axis:鼠标触摸到轴触发,item:鼠标触摸到折线点触发)
  • showDelay:添加延迟时间,避免来回切换(单位ms)
  • axisPointer:坐标轴指示器,坐标轴触发有效
  • type:line/shadow(默认line,设置shadow时鼠标放上去有阴影)
  • shadowStyle:当设置值为shadow时,
   tooltip: {
             trigger: 'axis',
             // 显示延迟,添加显示延迟可以避免频繁切换,单位ms
             showDelay: 200, 
             // 坐标轴指示器,坐标轴触发有效
             axisPointer: {     
                  // 默认为直线,可选为:'line' | 'shadow'       
                  type: 'show',     
                  shadowStyle: {
                          shadowBlur: 1,
                          opacity: 0.3
                              }
                     },
           },

3.grid

grid:图表距离容器的位置

 grid: {
          left: '4%',
          right: '4%',
          bottom: '4%',
          top: '30%',
          containLabel: true
     },
  • containLabel 为 false 的时候:
    grid.left grid.right grid.top grid.bottom grid.width grid.height 决定的是由坐标轴形成的矩形的尺寸和位置。
  • containLabel 为 true 的时候:
    grid.left grid.right grid.top grid.bottom grid.width grid.height 决定的是包括了坐标轴标签在内的所有内容所形成的矩形的位置。
  • 这常用于『防止标签溢出』的场景,标签溢出指的是,标签长度动态变化时,可能会溢出容器或者覆盖其他组件

4.legend

legend:图例

  • data:图例的具体文字
  • textStyle:图例的文字
  • icon:图例的形状 (包括:circle,rect ,roundRect,triangle,diamond,pin,arrow,none)
  legend: {
         data: ['xx', 'xx', 'xx', 'xx'],
         right: '33%',
         top: '10%',
         textStyle: {
                 fontSize: 12,
                 color: '#666'
        },
           icon: "circle",  
           itemWidth: 10,  // 设置宽度
           itemHeight: 10, // 设置高度
           itemGap: 40 // 设置间距
     },

5.xAxis

xAxis :x轴设置

  • name:单位
  • splitLine:网格线
    • show:false (去除网格线)
  • data:x轴坐标显示的数据,数组类型
  • axisLine:设置x轴的轴线
    • show:true(设置显示)
    • lineStyle:设置轴线的样式
      • color:颜色
      • width:宽度
      • type:线条类型
- axisLabel:设置x轴文字样式
  - textStyle:文字样式,对象类型
    - show:是否展示
    - fontSize:字体大小
    - color:文字颜色
  - formatter:自定义文字,后面跟一个函数,默认会一个参数,x坐标的值
	xAxis: {
		type: "value",
			// x轴的名字,可以理解成单位
			name: "单位(K)",
				nameTextStyle: {
			// x轴的名字的样式相关
			color: "#BFBFBF",
				nameLocation: "start",
                    },
		splitLine: {
			//去除网格线
			show: false,
                    },
		//去除网格区域,否则会有一片区域
		splitArea: { show: false },
		data: [0, 5000, 10000, 15000, 20000, 25000, 30000, 35000],
			axisLine: {
			// 把x轴从实线变成虚线
			show: true,
				lineStyle: {
				// 设置x轴线条样式的颜色
				color: "#BDBDBD",
					width: 1,
						type: "solid",
                        },
		},
		axisLabel: {
			formatter: function (value) {
				return value >= 5000 ? parseInt(value / 1000) + "K" : value;
			},
			scale: true, // 设置数据自动缩放
        }
	},

6.yAxis

  • yAxis:与x轴基本同理

7.series

series:图标系列,对象类型

  • type:line(图标类型为线性图标)
  • smooth:true(设置折线为光滑)
  • name:图标名称
  • areaStyle:图标区域的样式(本文中的图标设置的为渐进色)
  • data:图标的数据
  • markLine:基线
  • symbol:none(去掉基线的箭头)
  • lable:基线的文字设置
    • position:基线文字位置(start,middle,end)
    • show:是否显示基线文字
    • formatter:基线文字内容
  • data:设置基线(Array类型)
    • silent:鼠标悬停(true/false)
    • lineStyle:基线线条设置,对象类型
      • type:solid(基线线条类型)
      • color:基线线条颜色
      • yAxis:y轴基线的值
 series: [
                    {
                        data: this.trendLineData.map(item => item.defenceScore),
                        type: 'line',
                        smooth: true,
                        name: "答辩评分",
                        areaStyle: {
                            normal: {
                                opacity: 0.3,
                                color: new this.$echarts.graphic.LinearGradient(0, 0, 0, 1, [{
                                    offset: 0,
                                    color: '#679CF6'
                                }, {
                                    offset: 1,
                                    color: '#fff'
                                }])
                            }
                        },
                        // 基线设置
                        markLine: {
                            symbol: "none",
                            data: [{
                                silent: false,             
                                lineStyle: {   
                                    type: "solid",
                                    color: "#E34949",
                                },
                                yAxis: 3.5       
                            },
                            {
                                silent: false,           
                                lineStyle: {               
                                    type: "solid",
                                    color: "#3BC9A9",
                                },
                                yAxis: 4  
                            }
                            ]
                        }
                    },
                ],

附:常见问题

1、自定义X轴文字(文字替换)

   axisLabel: {
        formatter: function (value) {
              return value >= 5000 ? parseInt(value / 1000) + "K" : value;
           },
     scale: true, // 设置数据自动缩放,要不然数据多的话就堆一块了
   }

2、自定义X轴文字(文字换行)

其中this.trendLineData为后端数据,其实就是将x轴的类目项文字可以动态换行

 		formatter: (value) => {
			if (this.trendLineData.length > 2) {
			    //拼接加\n返回的类目项  
				var ret = "";
				//每项显示文字个数 
				var maxLength = 12; 
				//X轴类目项的文字个数  
				var valLength = value.length;
				//类目项需要换行的行数  
				var rowN = Math.ceil(valLength / maxLength);
				if (rowN > 1) 
				{
					for (var i = 0; i < rowN; i++) {
					    //每次截取的字符串 
						var temp = ""; 
						//开始截取的位置  
						var start = i * maxLength;
						//结束截取的位置 
						var end = start + maxLength; 
						//这里也可以加一个是否是最后一行的判断
						temp = value.substring(start, end) + "\n";
						//拼接最终的字符串  
						ret += temp; 
					}
					return ret;
				}
				else {
					return value;
				}
			} else {
				return value;
			}
		}

3、自定义tooltip

	tooltip: {
		    trigger: 'axis',
		    // 显示延迟,添加显示延迟可以避免频繁切换,单位ms
			showDelay: 200, 
			 // 坐标轴指示器,坐标轴触发有效
			axisPointer: {  
			    // 默认为直线,可选为:'line' | 'shadow'        
		     	type: 'shadow',      
				shadowStyle: {
				shadowBlur: 1,
					opacity: 0.3
			    }
	     	},
		formatter: function (data) {
			var res = "<div style='display:flex;'>";
			res += "<div class='left' >"
			res += '答辩数' + '</br>'
			data.forEach(item => {
				item.value = item.value ? item.value : 0;
				if (item.seriesType == 'bar') {
					res += item.marker + item.seriesName + '答辩数' + ':' + item.value + '</br>';
				}
			});
			res += " </div>"
			res += "<div class='right' style='margin-left:20px'>"
			res += '分数' + '</br>'
			data.forEach(item => {
				item.value = item.value ? item.value : 0;
				if (item.seriesType == 'line') {
					res += item.marker + item.seriesName + (item.seriesName == '总体' ? '平均分' : '分数') + ':' + item.value + '</br>';
				}
			});
			res += " </div>"
			res += " </div>"
			return res
		}
	},

结果如图所示:
在这里插入图片描述

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

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

相关文章

Springboot之Actuator的渗透测试和漏洞修复

Actuator 的 REST 接口 Actuator监控分成两类&#xff1a;原生端点和用户自定义端点&#xff1b;自定义端点主要是指扩展性&#xff0c;用户可以根据自己的实际应用&#xff0c;定义一些比较关心的指标&#xff0c;在运行期进行监控。 原生端点是在应用程序里提供众多 Web 接口…

返回字典中的键值对dict.items()

【小白从小学Python、C、Java】 【计算机等级考试500强双证书】 【Python-数据分析】 返回字典中的键值对 dict.items() [太阳]选择题 对下面描述错误的选项为&#xff1f; myDic {"A":1, "B":2} print("【显示】myDic",myDic) print("【显…

安全智能分析技术 模型自动化调优

安全分析模型自动化调优 MLOps&#xff08;Machine Learning Operations&#xff09;是一种人工智能 的工程实践&#xff0c;是面向机器学习项目的研发运营管理体系 。旨在实现 ML 管道的操作、ML 模型的部署和管理标准化&#xff0c;支持ML 模型的发布、激活、监控、性能跟踪…

【有料c++题目周刊 | 第三期】复兴时代

文章目录第一题&#xff1a;最佳圆柱体直径题目描述输入格式输出格式输入样例输出样例解题思路&C题解第二题&#xff1a;贪心国王题目描述输入格式输出格式数据范围输入样例输出样例解题思路&C题解第一题&#xff1a;最佳圆柱体直径 题目描述 在复兴时期&#xff0c;…

DevOps实战系列【第十二章】:详解Shared Libraries共享库

个人亲自录制全套DevOps系列实战教程 &#xff1a;手把手教你玩转DevOps全栈技术 随着jenkins pipeline项目越来越多&#xff0c;冗余代码也越来越多&#xff0c;所以share library诞生。 流水线支持在外部仓库中创建【共享库】&#xff0c;然后加载到现有流水线中使用&#xf…

XXL-Job分布式任务调度框架-- 集群HA的配置3

一 xxl-job集群概述 1.1 xxl-job集群HA的作用 为了避免单点故障&#xff0c;任务调度系统通常需要通过集群实现系统高可用 由于任务调度系统的特殊性&#xff0c;“调度”和“任务”两个模块需要均支持集群部署&#xff0c;由于职责不同&#xff0c;因此各自集群侧重点也有…

AcWing第82场周赛

目录 1.第k个数 2. 多米诺骨牌 3.构造序列 1.第k个数 题目描述 给定一个长度为n的整数序列&#xff0c;a1,a2,...,an,以及一个整数k&#xff0c;请你计算该数列从大到小排序后的第k个数。 输入格式 第一行包含两个整数n&#xff0c;k 第二行n个整数 输出格式 输出一个数&…

Sqoop安装教程

Sqoop安装教程 文章目录Sqoop安装教程一、资料二、安装&#xff08;一&#xff09;上传文件&#xff08;二&#xff09;解压文件&#xff0c;并重命名(三)修改配置文件1、进入到/opt/module/sqoop/conf中2、修改配置文件&#xff08;1&#xff09;将sqoop环境的模板文件&#x…

【M2 VMware Ubuntu】全流程安装指南

这里写自定义目录标题VMware Fusion安装M2 VMware Ubuntu 安装安装桌面环境安装 Open VM 工具禁用 Wayland更新 5.14 内核&#xff08;非必要不要更新&#xff09;VMware Fusion安装 这里就不再阐述如何安装啦&#xff01;当然这也不是本文关注重点&#xff01; M2 VMware Ub…

VB写dll以及调用的具体实例

目录 一.dll的简介 二.VB6中的dll 1.常见的调用的方法: 2.通过vb6写dll&#xff1a; 3.dll的调用 三.出现的一些问题: 一.dll的简介 1.dll被称为动态链接库,是一个可由多个程序或其他dll调用用的代码和的库&#xff0c;使用dll可以让程序可以更加模块化&#xff0c;避免重…

自适应布局和响应式布局

写在前面 我们在开发的时候&#xff0c;经常会听到关于各种布局的概念&#xff0c;而且里面有些概念经常会混淆&#xff0c;这篇文章主要就是介绍一下静态布局、流式布局、自适应布局、响应式布局和弹性布局的特点和应用场景 布局的历史发展 随着互联网和相关设备的发展&#…

C#语言实例源码系列-鼠标设置

专栏分享点击跳转>Unity3D特效百例点击跳转>案例项目实战源码点击跳转>游戏脚本-辅助自动化点击跳转>Android控件全解手册 &#x1f449;关于作者 众所周知&#xff0c;人生是一个漫长的流程&#xff0c;不断克服困难&#xff0c;不断反思前进的过程。在这个过程中…

DDL(保姆级教学)

目录 DDL&#xff1a; 1、数据库的创建&#xff1a; 2、由于重复创建同名数据库会报错 3、注意如果默认字符集为Latin1,其不支持中文&#xff0c;所以改为&#xff1a; 数据库的创建&#xff1a; 数据表的创建 属性的数据类型 1、数值类型&#xff1a; 2、字符串类型&a…

离散数学-用以图转化为矩阵并且求出这个矩阵的最大度最小度

题目: 从键盘输入无向图的邻接矩阵&#xff0c;判断输出该图结点最大度数、最小度数。 问题的分析&#xff1a; 对于一个图的输入&#xff0c;你一定会去使用二维数组来进行数据的存储&#xff0c;那么第一步就是建立一个二维数组&#xff0c;然后来进行输入&#xff0c;我下…

广域网技术——SRv6隧道类型及数据转发

目录 SRv6节点 节点角色 节点行为 SRv6数据转发隧道建立方式 SRv6 BE L3VPNv4 over SRv6 BE EVPN L3VPNv6 over SRv6 BE SRv6 TE Policy SRv6使用IPv6数据平面&#xff0c;基于IPv6扩展头进行扩展实现类似标签转发的处理 SR-MPLS在建立SR-MPLS隧道时&#xff0c;如果有…

Windows版本的Redis(新版本的GitHub地址)

Redis通常被称为数据结构服务器&#xff0c;因为值&#xff08;value&#xff09;可以是字符串(String)、哈希(Hash)、列表(list)、集合(sets)和有序集合(sorted sets)等类型 Redis官网地址&#xff1a;Redis 关于Windows版本 Redis目前提供源码、Docker镜像、云版三种下载形…

利用@Retryable注解实现重试机制

Retryable 它可以作用在方法上&#xff0c;当方法抛出指定的异常时&#xff0c;整个方法将会被重新执行。在使用时需要先在pom.xml中导入相关依赖&#xff0c;再在启动类中添加EnableRetry注释以开启重试功能&#xff0c;最后在相应的方法上添加Retryable注释。 引入依赖 <…

【边缘检测】蚁群算法图像边缘检测【含Matlab源码 1189期】

⛄一、获取代码方式 获取代码方式1&#xff1a; 完整代码已上传我的资源&#xff1a;【边缘检测】基于matlab蚁群算法图像边缘检测【含Matlab源码 1189期】 获取代码方式2&#xff1a; 通过订阅紫极神光博客付费专栏&#xff0c;凭支付凭证&#xff0c;私信博主&#xff0c;可…

12.17 - 每日一题 - 408

每日一句&#xff1a; 我们生活在行动中&#xff0c;而不是生活在岁月里;我们生活在思想中&#xff0c;而不是生活在呼吸里。 数据结构 1 在有向图G的拓扑序列中&#xff0c;若顶点Vi在顶点Vj之前&#xff0c;则下列情形不可能出现的是______ A.G中有弧<Vi,Vj>B.G中有…

sqli-labs 通关笔记详解 Less1 - Less10

文章目录GET显错注入流程前置知识注入步骤GET盲注基本流程前置知识注入步骤Less - 1Less - 2Less - 3Less - 4Less - 5Less - 6Less - 7Less - 8Less - 10做sqli-labs靶场之前建议补一下基础 SQL注入简介和注入方法教学 Web安全基础-SQL MySQL SQLMAP工具 详细使用方法 GET显…