echarts案例之仪表盘如何单独设置指针颜色?

news2024/9/24 11:26:21

一、此案例基于Vue3+ts,效果展示:

二、单个属性的值:

1、单独设置指针的颜色

series:[

......

{

......

 itemStyle: {

          color: 'rgba(161, 255, 249, 1)',

        },

......

}

......

]

2、设置最外圈数值的样式

series:[

......

{

......

     detail: {

          offsetCenter: ['50%', '30%'],

          color: 'rgba(61, 255, 243, 1)',

        },

......

}

......

]

三、完整代码如下: 

<template>
	<div class="container" ref="barRef"></div>
</template>
<script setup lang="ts" name="todaySAirQualityIndex-dashboard">
import { ref, onMounted } from 'vue';
import * as echarts from 'echarts';
const barRef = ref();
let myChart: any = null; // echarts实例对象

onMounted(() => {
	initCharts();
});

// 变化尺寸
const onResize = (resize: any) => {
	console.log('resize: ', resize);
	myChart && myChart.resize();
};
window.addEventListener('resize', onResize);

const initCharts = () => {
	const color = new echarts.graphic.LinearGradient(0, 0, 1, 0, [
		{
			offset: 0,
			color: 'rgba(73, 255, 255, 1)', // 0% 处的颜色
		},
		{
			offset: 0.2,
			color: 'rgba(127, 254, 121, 1)', // 100% 处的颜色
		},
		{
			offset: 0.4,
			color: 'rgba(255, 217, 84, 1)', // 100% 处的颜色
		},
		{
			offset: 0.6,
			color: 'rgba(255, 142, 67, 1)', // 100% 处的颜色
		},
		{
			offset: 0.8,
			color: 'rgba(255, 71, 54, 1)', // 100% 处的颜色
		},
		{
			offset: 1,
			color: 'rgba(244, 43, 91, 1)', // 100% 处的颜色
		},
	]);
	const colorSet = [[1, color]];
	const rich = {
		white: {
			fontSize: 50,
			color: '#fff',
			fontWeight: '500',
			padding: [-150, 0, 0, 0],
		},
		bule: {
			fontSize: 70,
			fontFamily: 'DINBold',
			color: '#fff',
			fontWeight: '700',
			padding: [-120, 0, 0, 0],
		},
		radius: {
			width: 350,
			height: 80,
			// lineHeight:80,
			borderWidth: 1,
			borderColor: '#0092F2',
			fontSize: 50,
			color: '#fff',
			backgroundColor: '#1B215B',
			borderRadius: 20,
			textAlign: 'center',
		},
		size: {
			height: 400,
			padding: [100, 0, 0, 0],
		},
	};

	let option = {
		tooltip: {
			show: false,
		},
		series: [
			{
				type: 'gauge',
				center: ['50%', '75%'],
				radius: '95%',
				startAngle: '180',
				endAngle: '0',
				pointer: {
					show: true,
					width: 5,
					length: '68%',
					color: '#fff',
				},
				detail: {
					formatter: function (value: any) {
						return value;
					},
					rich: rich,
					// fontWeight: 'bolder',
					// 数值位置
					offsetCenter: ['50%', '30%'],
					color: 'rgba(61, 255, 243, 1)',
				},
				data: [
					{
						name: '空气质量',
						value: (40 / 100) * 100,
					},
				],
				title: {
					show: true,
					fontSize: 14,
					color: '#ACCAC9',
					// 位置
					offsetCenter: ['-20%', '30%'],
				},
				// 指针的颜色
				itemStyle: {
					color: 'rgba(161, 255, 249, 1)',
				},
				axisLine: {
					show: true,
					lineStyle: {
						color: colorSet,
						width: 12,
					},
				},
				axisTick: {
					show: false,
				},
				splitLine: {
					show: false,
					length: 10,
					lineStyle: {
						color: '#00377a',
						width: 2,
						type: 'solid',
					},
				},
				axisLabel: {
					show: false,
					formatter: function (v: any) {
						return v.toFixed(0);
					},
				},
				animationDuration: 4000,
			},
			{
				name: '灰色内圈', //刻度背景
				type: 'gauge',
				z: 2,
				center: ['50%', '75%'],
				radius: '70%',
				startAngle: '180',
				endAngle: '0',
				//center: ["50%", "75%"], //整体的位置设置
				axisLine: {
					// 坐标轴线
					lineStyle: {
						// 属性lineStyle控制线条样式(刻度线样式)
						color: [[1, 'rgba(82, 255, 252, 0.3)']],
						fontSize: 20,
						width: 2,
						opacity: 1, //刻度背景宽度
					},
				},
				splitLine: {
					show: false,
				},
				axisLabel: {
					// show: false,
					distance: -70,
					color: 'rgba(82, 255, 252, 0.8)',
					fontSize: 12,
					formatter: function (v: any) {
						return v.toFixed(0);
					},
				},
				pointer: {
					show: false,
				},
				axisTick: {
					show: false,
				},
				detail: {
					show: 0,
				},
			},
			{
				name: '白色圈刻度',
				type: 'gauge',
				center: ['50%', '75%'],
				radius: '95%',
				startAngle: 180, //刻度起始
				endAngle: 0, //刻度结束
				min: 0,
				max: 100,
				splitNumber: 10,
				z: 4,
				axisTick: {
					show: false,
				},
				splitLine: {
					length: 8, //刻度节点线长度
					lineStyle: {
						width: 2,
						color: 'rgba(82, 255, 252, 0.8)',
					}, //刻度节点线
				},
				axisLabel: {
					show: false,
					color: 'rgba(82, 255, 252, 0.8)',
					fontSize: 14,
					formatter: function (v: any) {
						return v.toFixed(0);
					},
				}, //刻度节点文字颜色
				pointer: {
					show: false,
				},
				axisLine: {
					lineStyle: {
						opacity: 0,
					},
				},
				detail: {
					show: false,
				},
				data: [
					{
						value: 0,
						name: '',
					},
				],
			},
			{
				//内圆
				type: 'pie',
				radius: '35%',
				center: ['50%', '75%'],
				z: 1,
				itemStyle: {
					color: new echarts.graphic.RadialGradient(
						0.5,
						1,
						1,
						[
							{ offset: 0.5, color: '#1f545c' },
							{ offset: 1, color: '#41a1a7' },
						],
						false
					),
					label: {
						show: false,
					},
					labelLine: {
						show: false,
					},
				},
				emphasis: {
					scale: false,
				},
				label: {
					show: false,
				},
				tooltip: {
					show: false,
				},
				data: [
					{
						value: 100,
					},
					{
						value: 100,
						itemStyle: {
							color: 'transparent',
						},
					},
				],
				animationType: 'scale',
				startAngle: 180,
			},
		],
	};

	myChart = echarts.init(barRef.value as HTMLDivElement);
	myChart.setOption(option, true);
};
</script>
<style lang="scss" scoped>
.container {
	width: 100%;
	height: 100%;
}
</style>

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

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

相关文章

【linux】安装openjdk8

openjdk的官网 点我就到官网 jdk8的网址 安装 yum install -y java-1.8.0-openjdk-devel 出现Complete! 就是安装完成。 验证 java -version选择对应的包 java-1.8.0-openjdk-devel 开发 Java 程序&#xff0c;请安装该java-1.8.0-openjdk-devel软件包。 java-1.8.0-op…

零代码开发、可视化界面!飞桨AI Studio星河社区带你玩转Prompt应用

号外号外&#xff01;飞桨AI Studio星河社区上线新版文心一言专区&#xff0c;帮助开发者完成一言插件&大模型应用开发&#xff0c;与此同时推出Prompt模板库供开发者使用。 零代码开发、可视化界面&#xff01;飞桨AI Studio星河社区带你玩转Prompt应用

使用Python的Flask框架开发验证码登录功能

目录 一、安装和配置Flask 二、生成验证码 三、处理用户输入和验证验证码 四、实现安全的用户认证 五、创建HTML模板 总结 验证码登录功能是现代Web应用程序中常见的安全特性之一&#xff0c;它有助于防止自动化机器人或恶意用户进行非法登录。在本文中&#xff0c;我们将…

windows添加定时任务命令

windows添加定时任务 一.schtasks命令 windows中常用来添加定时任务的命令 二.常用操作 1.添加定时任务 每天下午14:58:00执行test.bat脚本 C:\Users\DELL>schtasks /create /tn doc /tr C:\Users\DELL\Desktop\test.bat /sc DAILY /st 14:58:00 成功: 成功创建计划任务…

【期中复习】深度学习

文章目录 机器&#xff08;深度&#xff09;学习的四大核心要素为什么深度学习&#xff0c;不增加网络宽度黑盒模型的问题计算图线性神经网络梯度下降学习率优化方法softmax函数用于多分类交叉熵线性回归与softmax回归的对比为什么需要非线性激活函数感知机线性回归、softmax回…

mysql-面试50题-2

一、查询数据 学生表 Student create table Student(SId varchar(10),Sname varchar(10),Sage datetime,Ssex varchar(10)); insert into Student values(01 , 赵雷 , 1990-01-01 , 男); insert into Student values(02 , 钱电 , 1990-12-21 , 男); insert into Student v…

Unity3D 打包发布时生成文件到打包目录

有时候需要自己创建批处理文件或日志文件&#xff0c;在启动程序的同级目录使用&#xff0c;减少手动操作的时间和错误率。主要使用到的是OnPostprocessBuild方法。 1、在工程中的Editor文件夹下创建脚本 2、将文件放入Plugins的相关目录 3.脚本内容 using System.Collection…

视频号视频下载教程,为视频博主提供的PC电脑版下载方法

在如今这个数字时代&#xff0c;视频博主们成为了社交媒体平台上的明星。他们创作出精彩纷呈的视频内容&#xff0c;吸引着大量粉丝的关注和喜爱。然而&#xff0c;对于那些想要在自己的电脑上收藏这些视频的人来说&#xff0c;可能需要一些技巧和工具来实现。幸运的是&#xf…

SD-WAN专线:一带一路市场布局的商业加速器

刚刚结束的“一带一路”国际合作高峰论坛再次彰显了跨境合作的重要性。在这个全球化时代&#xff0c;随着一带一路倡议的不断推进&#xff0c;企业需要更加高效、稳定的网络连接来实现与参与国家的合作。在这一背景下&#xff0c;SD-WAN专线成为了加速一带一路合作的新选择&…

【C++】c++引用和小细节

文章目录 一、引用的特性&#xff1a;引用的实质引用权限使用场景引用和指针的区别 c引用不是定义了新的对象&#xff0c;而是对一个已有的对象起了一个别名&#xff0c;如鲁迅和周树人的关系&#xff0c;鲁迅是周树人的笔名&#xff0c;两者是一个东西&#xff0c;只是名字不同…

2023年9月青少年机器人技术(三级)等级考试试卷-理论综合

2023年9月青少年机器人技术等级考试&#xff08;三级&#xff09;理论综合试卷 单选题 第 1 题 单选题 Arduino Nano主控板&#xff0c;通过光敏电阻控制LED灯亮度的变化。电路搭设及程序如下图所示&#xff0c;当光照强度逐渐增强时&#xff0c;LED的亮度逐渐减弱&#xff…

k8s-----19、Helm

Helm 1、引入2、概述2.1 重点2.2 V3版本的Helm2.2.1 与之前版本的不同之处2.2.2 V3版本的运行流程 3、安装和配置仓库、一些附带操作3.1 安装3.2 配置仓库3.3 常用命令3.4 添加helm的自动补齐 4、快速部署应用(weave应用)5、 自行创建Chart5.1 Chart目录内容解析5.2 简单安装部…

基于springcloud+web实现智慧养老平台系统项目【项目源码+论文说明】

基于springcloudweb实现智慧养老平台演示 摘要 首先,论文一开始便是清楚的论述了系统的研究内容。其次,剖析系统需求分析,弄明白“做什么”,分析包括业务分析和业务流程的分析以及用例分析,更进一步明确系统的需求。然后在明白了系统的需求基础上需要进一步地设计系统,主要包罗…

stm32f10系列的独立看门狗与窗口看门狗

在由单片机构成的微型计算机系统中&#xff0c;由于单片机的工作常常会受到来自外界电磁场的干扰&#xff0c;造 成程序的跑飞&#xff0c;而陷入死循环&#xff0c;程序的正常运行被打断&#xff0c;由单片机控制的系统无法继续工作&#xff0c;会 造成整个系统的陷入停滞状态…

[Note] 汉明码与汉明距离的思考

Hamming distance 定义 汉明距离&#xff0c;定义是两个码字之间的不同的位的数量&#xff0c;例如4’b0000和4’b0011的汉明距离为2&#xff0c;4’b0000和4’b1110的汉明距离为3。 一种编码方式的&#xff08;最小&#xff09;汉明距离&#xff0c;它的定义就是&#xff0c;…

与创新者同行,Doris Summit Asia 2023 线下技术峰会圆满落幕!

10 月 21 日&#xff0c;由飞轮科技主办、阿里云与腾讯云联合主办的 Apache Doris 社区首届线下技术峰会 Doris Summit Asia 2023 在一片热潮中落下帷幕。 本届峰会以「与创新者同行」为主题&#xff0c;设置主论坛和智慧金融与政企、先进智造与电信、企业服务与新经济、互联网…

做地推共享wifi贴的如今都怎么样了?

近年来&#xff0c;随着移动互联网的普及和发展&#xff0c;无线网络已经成为人们日常生活中不可或缺的一部分。然而&#xff0c;很多公共场所的WiFi网络并不方便使用&#xff0c;需要输入密码或者注册账号&#xff0c;给用户带来了不便。为了解决这个问题&#xff0c;一种名为…

元对象系统功能

元对象系统功能 建立工程 布局页面 布局页面 修改原件名称 建立元对象 函数作为接口 增加一些固定的属性 #------------------------------------------------- # # Project created by QtCreator 2023-10-24T21:54:44 # #----------------------------…

LLM在text2sql上的应用 | 京东云技术团队

一、前言&#xff1a; 目前&#xff0c;大模型的一个热门应用方向text2sql它可以帮助用户快速生成想要查询的SQL语句。那对于用户来说&#xff0c;大部分简单的sql都是正确的&#xff0c;但对于一些复杂逻辑来说&#xff0c;需要用户在产出SQL的基础上进行简单修改&#xff0c…