vue3之echarts仪表盘

news/2025/3/4 18:52:50/
echarts_0">vue3之echarts仪表盘

效果如下:
在这里插入图片描述
版本
"echarts": "^5.5.1"

核心代码:

<template><div ref="chartRef" class="circle"></div>
</template>
<script lang="ts" setup>
import { ref, onMounted, onBeforeMount } from 'vue';
import * as echarts from 'echarts';const chartRef = ref(null);
const percent = ref(23);
let chart: any = null;const topChartOptions = (value: number) => {return {series: [{name: 'S',z: 3,type: 'gauge', // 仪表盘center: ['50%', '82%'],radius: '135%',detail: {show: false,},title: {show: false,},data: [{value,name: 'Percent',},],startAngle: '178', // 仪表盘起始角度endAngle: '2', // 仪表盘结束角度min: 0,max: 100,axisLine: {show: true,lineStyle: {roundCap: true,width: 8,color: [[value / 100,new echarts.graphic.LinearGradient(0, 0, 1, 0, [{offset: 0,color: 'rgba(11, 163, 250, 1)',},{offset: 1,color: 'rgba(227, 250, 255, 1)', // 100% 处的颜色},]),],[1, 'rgba(4, 211, 251, 0)'],],},},axisTick: {show: false,},axisLabel: {show: false,},splitLine: {show: false,},pointer: {length: '22%',width: 4,icon: 'rect',offsetCenter: [0, '-87%'],itemStyle: {color: 'RGBA(191, 255, 238, 1)',},},},{name: 'T',z: 2,type: 'gauge', // 仪表盘center: ['50%', '82%'],radius: '135%',detail: {show: false,},title: {show: false,},data: [{value: 100,name: 'Percent',},],startAngle: '178', // 仪表盘起始角度endAngle: '2', // 仪表盘结束角度min: 0,max: 100,axisLine: {show: true,lineStyle: {roundCap: true,width: 10,color: [[1,new echarts.graphic.LinearGradient(0, 0, 1, 0, [{offset: 0,color: 'transparent',},{offset: value / 100,color: 'rgba(255, 192, 1, 1)',},{offset: 1,color: 'rgba(255, 242, 204, 1)', // 100% 处的颜色},]),],[1, 'rgba(255, 192, 1, 0)'],],},},axisTick: {show: false,},axisLabel: {show: false,},splitLine: {show: false,},pointer: {show: false,},},],};
};const initChart = () => {if (!chart) chart = echarts.init(chartRef.value);chart.setOption(topChartOptions(percent.value));
};onMounted(() => {initChart();
});const destroyChart = () => {if (!chart) {return;}chart.dispose();chart = null;
};onBeforeMount(() => {destroyChart();
});
</script>
<style lang="scss" scoped>
.circle {width: 314px;height: 191px;
}
</style>

http://www.ppmy.cn/news/1576613.html

相关文章

蓝桥杯备赛Day10 位运算

位运算 1.要点 与:& 或:| 异或:^ 非:~ 异或运算性质: (1)x^x0 (2)x^0x (3)a^b^ba(1,2推出) (4)a^bc->ab^c(两侧同异或b) 位运算按补码计算 正数的补码就是正数本身&#xff1b;负数的补码 负数的绝对值正数补码取反 1 正数右移要用unsigned int最后才会变0(int高位…

DeepSeek模型快速部署教程-搭建自己的DeepSeek

前言&#xff1a;在人工智能技术飞速发展的今天&#xff0c;深度学习模型已成为推动各行各业智能化转型的核心驱动力。DeepSeek 作为一款领先的 AI 模型&#xff0c;凭借其高效的性能和灵活的部署方式&#xff0c;受到了广泛关注。无论是自然语言处理、图像识别&#xff0c;还是…

迷你世界脚本世界UI接口:UI

世界UI接口&#xff1a;UI 彼得兔 更新时间: 2023-10-25 10:40:44 具体函数名及描述如下: 序号 函数名 函数描述 1 setGBattleUI(...) 设置战斗总结UI 2 world2RadarPos(...) 世界坐标转换到小地图 3 world2RadarDist(...) 世界长度转换到小地图 4 …

Golang的性能分析指标解读

Golang的性能分析指标解读 一、概述 语言&#xff09;是一种由Google开发的开源编程语言&#xff0c;以其并发性能和高效的编译速度而闻名。对于程序员来说&#xff0c;了解如何对Golang应用程序进行性能分析是非常重要的&#xff0c;因为这能帮助他们发现潜在的性能瓶颈并对其…

《Python实战进阶》No 7: 一个AI大模型聊天室的构建-基于WebSocket 实时通信开发实战

第7集&#xff1a; 一个AI大模型聊天室的构建-基于WebSocket 实时通信开发实战 在现代 Web 开发中&#xff0c;实时通信已经成为许多应用的核心需求。无论是聊天应用、股票行情推送&#xff0c;还是多人协作工具&#xff0c;WebSocket 都是实现高效实时通信的最佳选择之一。本…

C 注释编写模版

编写清晰、有用的注释是提高代码可读性和可维护性的关键。良好的注释不仅能帮助他人理解您的代码&#xff0c;也能在未来您自己或其他开发者需要维护或扩展代码时节省大量时间。下面提供了一些常见的注释模板和最佳实践&#xff0c;适用于不同的编程语言和场景。 头部文件注释&…

Spring +Spirng MVC+Mybatis +SpringBoot

AI ------>>>直接使用阿里的 通义天问 Maven基础 介绍 Maven 介绍 Maven 作用 项目构建 比较简单~ 核心功能 依赖管理 <!-- gavp属性--><groupId>com.example</groupId><artifactId>tials-manage</artifactId><version>0.0.1…

中间件专栏之MySQL篇——MySQL的基本原理和基本操作

一、什么是MySQL MySQL是一个常用的数据库管理系统&#xff0c;它是关系型数据库&#xff0c;它使用结构化查询语言&#xff08;SQL&#xff09;来管理数据库中的数据。MySQL 使用 表&#xff08;Table&#xff09;来存储数据&#xff0c;数据以 行&#xff08;Row&#xff09…