关于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

相关文章

使用Java填充Word模板的操作指南

《使用Java填充Word模板的操作指南》本文介绍了Java填充Word模板的实现方法,包括文本、列表和复选框的填充,首先通过Word域功能设置模板变量,然后使用poi-tl、aspose-words... 目录前言一、设置word模板普通字段列表字段复选框二、代码1. 引入POM2. 模板放入项目3.代码

利用Python操作Word文档页码的实际应用

《利用Python操作Word文档页码的实际应用》在撰写长篇文档时,经常需要将文档分成多个节,每个节都需要单独的页码,下面:本文主要介绍利用Python操作Word文档页码的相关资料,文中通过代码... 目录需求:文档详情:要求:该程序的功能是:总结需求:一次性处理24个文档的页码。文档详情:1、每个

Python内存管理机制之垃圾回收与引用计数操作全过程

《Python内存管理机制之垃圾回收与引用计数操作全过程》SQLAlchemy是Python中最流行的ORM(对象关系映射)框架之一,它提供了高效且灵活的数据库操作方式,本文将介绍如何使用SQLAlc... 目录安装核心概念连接数据库定义数据模型创建数据库表基本CRUD操作创建数据读取数据更新数据删除数据查

Go语言中json操作的实现

《Go语言中json操作的实现》本文主要介绍了Go语言中的json操作的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录 一、jsOChina编程N 与 Go 类型对应关系️ 二、基本操作:编码与解码 三、结构体标签(Struc

Java 字符串操作之contains 和 substring 方法最佳实践与常见问题

《Java字符串操作之contains和substring方法最佳实践与常见问题》本文给大家详细介绍Java字符串操作之contains和substring方法最佳实践与常见问题,本文结合实例... 目录一、contains 方法详解1. 方法定义与语法2. 底层实现原理3. 使用示例4. 注意事项二、su

Redis高性能Key-Value存储与缓存利器常见解决方案

《Redis高性能Key-Value存储与缓存利器常见解决方案》Redis是高性能内存Key-Value存储系统,支持丰富数据类型与持久化方案(RDB/AOF),本文给大家介绍Redis高性能Key-... 目录Redis:高性能Key-Value存储与缓存利器什么是Redis?为什么选择Redis?Red

Java Stream流与使用操作指南

《JavaStream流与使用操作指南》Stream不是数据结构,而是一种高级的数据处理工具,允许你以声明式的方式处理数据集合,类似于SQL语句操作数据库,本文给大家介绍JavaStream流与使用... 目录一、什么是stream流二、创建stream流1.单列集合创建stream流2.双列集合创建str

线上Java OOM问题定位与解决方案超详细解析

《线上JavaOOM问题定位与解决方案超详细解析》OOM是JVM抛出的错误,表示内存分配失败,:本文主要介绍线上JavaOOM问题定位与解决方案的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录一、OOM问题核心认知1.1 OOM定义与技术定位1.2 OOM常见类型及技术特征二、OOM问题定位工具

Python正则表达式匹配和替换的操作指南

《Python正则表达式匹配和替换的操作指南》正则表达式是处理文本的强大工具,Python通过re模块提供了完整的正则表达式功能,本文将通过代码示例详细介绍Python中的正则匹配和替换操作,需要的朋... 目录基础语法导入re模块基本元字符常用匹配方法1. re.match() - 从字符串开头匹配2.

Python一次性将指定版本所有包上传PyPI镜像解决方案

《Python一次性将指定版本所有包上传PyPI镜像解决方案》本文主要介绍了一个安全、完整、可离线部署的解决方案,用于一次性准备指定Python版本的所有包,然后导出到内网环境,感兴趣的小伙伴可以跟随... 目录为什么需要这个方案完整解决方案1. 项目目录结构2. 创建智能下载脚本3. 创建包清单生成脚本4