echarts 使用移表盘实现类似类目轴效果,不使用数值刻度

news/2024/12/24 4:50:23/文章来源:https://www.cnblogs.com/hong1/p/18556220

思路:使用多个移表盘叠加

效果图:

代码:

setGaugeChart() {this.gaugeChart && this.gaugeChart?.dispose && this.gaugeChart?.dispose()this.gaugeChart = echarts.init(this.$refs.gaugeChartRef)const grades = ['AAA', 'AA', 'A', 'BBB', 'BB', 'B', 'CCC', 'CC', 'C', 'D']const diffAngle = 220 / grades.length / 2 // 计算角度差值,用来使label在两个刻度中间显示const curValue = 2 // 当前值,对应grades索引const gaugeOption = {type: 'gauge',center: ['50%', '75%'],radius: 128,max: grades.length,splitNumber: grades.length,pointer: {show: false},axisTick: {show: false}}// 设置当前值对应的axisLine颜色let lineColor = []if (curValue === 0) {lineColor = [[(curValue + 1) / grades.length, '#ECC087'],[1, '#EFD1A7']]} else if (curValue === grades.length - 1) {lineColor = [[curValue / grades.length, '#EFD1A7'],[(curValue + 1) / grades.length, '#ECC087']]} else {lineColor = [[curValue / grades.length, '#EFD1A7'],[(curValue + 1) / grades.length, '#ECC087'],[1, '#EFD1A7']]}const option = {series: [// 边框底色盘{...gaugeOption,radius: gaugeOption.radius + 1,z: 2,startAngle: 200,endAngle: -20,axisLine: {lineStyle: {width: 10,color: [[1, '#fff']]}},splitLine: {show: false},axisLabel: {show: false}},// 数据展示盘{...gaugeOption,z: 3,startAngle: 200,endAngle: -20,axisLine: {lineStyle: {width: 8,color: lineColor}},splitLine: {distance: -8,length: 8,lineStyle: {color: '#fff',width: 1}},axisLabel: {show: false},detail: {valueAnimation: true,offsetCenter: [0, 15],formatter: () => {return `{a|${grades[curValue] || ''}}`},rich: {a: {color: '#DB9130',fontSize: 80,fontWeight: 600}}},data: [{value: curValue}]},// 展示label仪表盘{...gaugeOption,z: 4,startAngle: 200 - diffAngle,endAngle: -20 - diffAngle,axisLine: {lineStyle: {width: 8,color: [[1, 'rgba(236, 192, 135, 0)']]}},splitLine: {show: false,distance: -8,length: 8,lineStyle: {color: '#fff',width: 1}},axisLabel: {color: '#ECC087',distance: -10,fontSize: 18,rotate: 'tangential',formatter: value => {if (value === curValue) {return `{b|${grades[value] || ''}}`} else {return `{a|${grades[value] || ''}}`}},rich: {a: {fontSize: 18,color: '#ECC087'},b: {fontSize: 18,color: '#DB9130'}}}}]}this.gaugeChart.setOption(option)
}

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Chrome 浏览器 131 版本新特性

Chrome 浏览器 131 版本新特性 一、Chrome 浏览器 131 版本新特性 1. 在 iOS 上使用 Google Lens 搜索 自 Chrome 126 版本以来,用户可以通过 Google Lens 搜索屏幕上看到的任何图片或文字。 要使用此功能,请访问网站,并点击聚焦时出现在地址栏的 Google Lens 搜索按钮,或者…

Qt 重写paintEvent事件划线

可以自定义一个类QtImageLabel继承于QLabel,重写paintEvent事件划线,写文字等。如果用 ui 设计,将 QLabel 控件提升为 QtImageLabel 类型即可。QtImageLabel.h protected:void paintEvent(QPaintEvent *) override;QtImageLabel.cpp #pragma execution_character_set("…

递归定义

GNU “GNU”是“GNUs Not Unix!”(GNU并非Unix!)的首字母递归缩写。 平衡二叉树 也叫AVL树,它或者是一颗空树,或者具有以下性质的二叉排序树:它的左子树和左子树的高度之差(平衡因子)的绝对值不超过1,且它的左子树和右子树都是一颗平衡二叉树。 前序遍历 (preorder tra…

【GreatSQL优化器-03】查询开销估算

【GreatSQL优化器-03】查询开销估算 一、cost和read_time介绍 GreatSQL的优化器在创建执行计划的时候是根据每张表的行数和数据分布以及读数据硬盘消耗等信息来判断先查询哪张表后查询哪张表,要不要使用索引,这些表资源信息就被称为cost,俗称为"开销"。在这之前已…

PyODPS获取MaxComputer数据仓中业务表的最新更新时间并输出至表中

PyODPS获取MaxComputer数据仓中业务表的最新更新时间并输出1.准备两张数据表: 1.1 需要统计的库表中间表:CREATE TABLE IF NOT EXISTS dim_river_system_business_time (`id` STRING COMMENT 序号,`dept_name` STRING COMMENT ,`system_name` STRING COMMENT 所属系统,…

powerdesigner同时显示列的name和code

参考来源:数据库设计工具-PowerDesigner中table视图显示name与code 1、Tools-->Display Preferences2、Table->Advanced3、Columns-->放大镜图标4、勾选【code】并调整顺序到datatype之前5、单击ok,成功

RedisTemplate RedisConfig 序列化方式 fastjson2

Spring Data Redis 为我们提供了下面的Serializer:GenericToStringSerializer、Jackson2JsonRedisSerializer、JacksonJsonRedisSerializer、JdkSerializationRedisSerializer、OxmSerializer、StringRedisSerializer。序列化方式对比:JdkSerializationRedisSerializer: 使用…

实验 20:备忘录模式

本次实验属于模仿型实验,通过本次实验学生将掌握以下内容: 1、理解备忘录模式的动机,掌握该模式的结构; 2、能够利用备忘录模式解决实际问题。[实验任务一]:多次撤销 改进课堂上的“用户信息操作撤销”实例,使得系统可以实现多次撤销(可以使用HashMap、ArrayList等集合…

实验 21:观察者模式

本次实验属于模仿型实验,通过本次实验学生将掌握以下内容: 1、理解观察者模式的动机,掌握该模式的结构; 2、能够利用观察者模式解决实际问题。[实验任务一]:股票提醒 当股票的价格上涨或下降5%时,会通知持有该股票的股民,当股民听到价格上涨的消息时会买股票,当价格下…

MaskLLM:英伟达出品,用于大模型的可学习`N:M`稀疏化 | NeurIPS24

来源:晓飞的算法工程笔记 公众号,转载请注明出处论文: MaskLLM: Learnable Semi-Structured Sparsity for Large Language Models论文地址:https://arxiv.org/abs/2409.17481 论文代码:https://github.com/NVlabs/MaskLLM创新性提出一种可学习的LLM半结构化剪枝方法MaskLLM…

Codeforces 1145 题目分析

本文将分析 Codeforces 1145 (April Fools Day Contest 2019)。 题目分析 A 题目描述:使用“灭霸排序”算法可以得到的最长子串的长度。 解法:暴力。 B 题目描述:输入一个整数 \(\in [1,99]\),若它的英文形式含有 knba 四个字母输出 NO 否则输出 YES。 解法:打表。 C 题目…

3.2点对点ppp

001ppp协议特点 ppp协议能承载不同网络层分组,ip数据报里有其他网络层协议存在。 能在多种类型的链路上运行 和广播方式相比,需要一个网络地址的协商,传送前有个协商过程,确认资源。地址002ppp协议组成 将ip数据报封装到串行链路的方法 链路控制协议LCP--建立链路,身份验证…