关于echars 操作legend 解决方案

2024-02-01 17:20

本文主要是介绍关于echars 操作legend 解决方案,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

需求:
1、legend 图例需要是虚线
https://frontend.devrank.cn/traffic-information/7208578249369765947 (重点)
https://blog.csdn.net/weixin_48400717/article/details/128935213

2、可单选 和 多选

3、lengend 和 sever 数据name 保持一致

4、

legend:[{selectedMode:'single', // 单选itemWidth: 14,itemHeight: 4,top:20,icon:'rect',textStyle: {fontSize: 14,height: 12,color: '#fff',rich: {a: {verticalAlign: 'media',},},},}],

3、dom.vue 页面

<zmjEcharts ref="supHeiEcharts" title="支架压力" echartsId="supHeiEcharts" :isEchartAbsolute="true">
</zmjEcharts>

js 页面

import { echartsOptions } from '@/components'
import dragImg from '@/assets/image/line/line-9.png'
export const supHeiEcharts = (obj, haveFourCol) => {const worknce = 333console.log((obj[0]?obj[0][0]:null), haveFourCol, '--------')const markLine = {symbol: 'none',data: [{lineStyle: {type: 'dashed',color: '#FA7272',},label:{position: 'insideEndTop',fontSize: '10',formatter:`333: {c}`,color:'#FA7272',},yAxis: workingResistance || 'none',}],}const leg = {selectedMode:haveFourCol?'single':'',itemWidth: 14,itemHeight: 4,// top:0,icon:'rect',textStyle: {fontSize: 14,height: 12,color: '#fff',rich: {a: {verticalAlign: 'media',},},},}let defaultOption = JSON.parse(JSON.stringify(echartsDefaultOptions))const options2 = {xAxis:{...defaultOption.xAxis[0],data: obj.finalSupportPressure?.map(item => {return item.dateTime}),type: 'category',},color:['#FFDB26', '#579AFF', '#FF5962'],legend: [{...leg,right: '51%',data: [{name: '11',icon: 'roundRect',},],},{...leg,right: '47%',data: [{name: '22',icon: 'roundRect',},],},{right: '40.8%',...leg,itemWidth: 14, // 图例图形的宽度itemHeight: 1, // 图例图形的高度data: [{name: '33', // 图例文字内容icon: `image://${dragImg}`,},],},],series : [{data: obj.initialSupportPressure?.map(item => {return item.value}),type: 'line',name: '11',},{data: obj.finalSupportPressure?.map(item => {return item.value}),type: 'line',name: '22',},{name:'33',type:'line',markLine: markLine,},],}const options4 = {xAxis:{...defaultOption.xAxis[0],data: (obj[0]?obj[0][0]:null)?.data.map(item => {return item.time}),type: 'category',},color:['#FFDB26', '#579AFF', '#72BF68', '#01C8CF', '#FF5962'],legend:[{data:[{name: '11', icon: 'rect'},{name: '22', icon: 'rect'},{name: '33', icon: 'rect'},{name: '44', icon: 'rect'},// 重点设置{name: '55',itemStyle: { opacity: 0 },lineStyle:{type:'dotted',},},],selectedMode:'multiple',itemWidth: 14,itemHeight: 4,top:20,textStyle: {fontSize: 14,height: 12,color: '#fff',rich: {a: {verticalAlign: 'media',},},},},],series:[{data: (obj[0]?obj[0][0]:null)?.data.map(item => {return item.value}),type: 'line',name: '11',},{data: (obj[1]?obj[1][0]:null)?.data.map(item => {return item.value}),type: 'line',name: '22',},{data: (obj[2]?obj[2][0]:null)?.data.map(item => {return item.value}),type: 'line',name: '33',},{data: (obj[3]?obj[3][0]:null)?.data.map(item => {return item.value}),type: 'line',name: '44',},// 重点设置{name:'55',type:'line',symbol:'none',markLine: markLine,},],}const options = !haveFourCol?options2:options4// 判断是 否存在 多数据const optionsBlo = !haveFourCol?(obj.finalSupportPressure && obj.finalSupportPressure.length):(obj[0] && obj[0].length)if (optionsBlo){return {dataZoom: [{type: 'inside',},{type: 'slider',show: false,},],yAxis: {...defaultOption.yAxis[0],type: 'value',max:haveFourCol?60:null,},grid: {left: 50,right: 25,top: 60,bottom: 30,},tooltip: {trigger: 'axis', // 触发类型;轴触发,axis则鼠标hover到一条柱状图显示全部数据,item则鼠标hover到折线点显示相应数据,axisPointer: {  // 坐标轴指示器,坐标轴触发有效,type: 'line', // 默认为line,line直线,cross十字准星,shadow阴影crossStyle: {color: '#fff',},},},...options,}}else {return {title: {left: 'center',top: 'center',textStyle: {fontSize: 14,},subtext: '暂无数据!',},}}
}

这篇关于关于echars 操作legend 解决方案的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


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

相关文章

Python使用openpyxl读取Excel的操作详解

《Python使用openpyxl读取Excel的操作详解》本文介绍了使用Python的openpyxl库进行Excel文件的创建、读写、数据操作、工作簿与工作表管理,包括创建工作簿、加载工作簿、操作... 目录1 概述1.1 图示1.2 安装第三方库2 工作簿 workbook2.1 创建:Workboo

WinForm跨线程访问UI及UI卡死的解决方案

《WinForm跨线程访问UI及UI卡死的解决方案》在WinForm开发过程中,跨线程访问UI控件和界面卡死是常见的技术难题,由于Windows窗体应用程序的UI控件默认只能在主线程(UI线程)上操作... 目录前言正文案例1:直接线程操作(无UI访问)案例2:BeginInvoke访问UI(错误用法)案例

Spring Security常见问题及解决方案

《SpringSecurity常见问题及解决方案》SpringSecurity是Spring生态的安全框架,提供认证、授权及攻击防护,支持JWT、OAuth2集成,适用于保护Spring应用,需配置... 目录Spring Security 简介Spring Security 核心概念1. ​Securit

MySQL逻辑删除与唯一索引冲突解决方案

《MySQL逻辑删除与唯一索引冲突解决方案》本文探讨MySQL逻辑删除与唯一索引冲突问题,提出四种解决方案:复合索引+时间戳、修改唯一字段、历史表、业务层校验,推荐方案1和方案3,适用于不同场景,感兴... 目录问题背景问题复现解决方案解决方案1.复合唯一索引 + 时间戳删除字段解决方案2:删除后修改唯一字

Ubuntu 24.04启用root图形登录的操作流程

《Ubuntu24.04启用root图形登录的操作流程》Ubuntu默认禁用root账户的图形与SSH登录,这是为了安全,但在某些场景你可能需要直接用root登录GNOME桌面,本文以Ubuntu2... 目录一、前言二、准备工作三、设置 root 密码四、启用图形界面 root 登录1. 修改 GDM 配

JSONArray在Java中的应用操作实例

《JSONArray在Java中的应用操作实例》JSONArray是org.json库用于处理JSON数组的类,可将Java对象(Map/List)转换为JSON格式,提供增删改查等操作,适用于前后端... 目录1. jsONArray定义与功能1.1 JSONArray概念阐释1.1.1 什么是JSONA

Java操作Word文档的全面指南

《Java操作Word文档的全面指南》在Java开发中,操作Word文档是常见的业务需求,广泛应用于合同生成、报表输出、通知发布、法律文书生成、病历模板填写等场景,本文将全面介绍Java操作Word文... 目录简介段落页头与页脚页码表格图片批注文本框目录图表简介Word编程最重要的类是org.apach

Python实现对阿里云OSS对象存储的操作详解

《Python实现对阿里云OSS对象存储的操作详解》这篇文章主要为大家详细介绍了Python实现对阿里云OSS对象存储的操作相关知识,包括连接,上传,下载,列举等功能,感兴趣的小伙伴可以了解下... 目录一、直接使用代码二、详细使用1. 环境准备2. 初始化配置3. bucket配置创建4. 文件上传到os

Java 线程安全与 volatile与单例模式问题及解决方案

《Java线程安全与volatile与单例模式问题及解决方案》文章主要讲解线程安全问题的五个成因(调度随机、变量修改、非原子操作、内存可见性、指令重排序)及解决方案,强调使用volatile关键字... 目录什么是线程安全线程安全问题的产生与解决方案线程的调度是随机的多个线程对同一个变量进行修改线程的修改操

mysql表操作与查询功能详解

《mysql表操作与查询功能详解》本文系统讲解MySQL表操作与查询,涵盖创建、修改、复制表语法,基本查询结构及WHERE、GROUPBY等子句,本文结合实例代码给大家介绍的非常详细,感兴趣的朋友跟随... 目录01.表的操作1.1表操作概览1.2创建表1.3修改表1.4复制表02.基本查询操作2.1 SE