vue实现echarts饼图自动轮播

echarts官网:Examples - Apache ECharts

echartsFn.ts 把echarts函数封装成一个文件

import * as echarts from "echarts";const seriesData = [{"value": 12,"name": "过流报警"},{"value": 102,"name": "高温报警"},{"value": 1,"name": "缺相报警"},{"value": 3,"name": "分闸"},{"value": 1,"name": "断电分闸"},{"value": 248,"name": "机械闭锁"},{"value": 97,"name": "漏电闭锁"},{"value": 4,"name": "过载闭锁"},{"value": 5,"name": "短路闭锁"}
]// 报警类型统计
const initVisualizingContentLeftBottom = async (dom: HTMLElement | null, state: any) => {const myChart = dom && echarts.init(dom);const option = {legend: {selectedMode: false, //禁止鼠标移到legend弹出饼图中间的文字x: "0",icon: "circle",textStyle: {color: "#fff",fontSize: "14px",},itemWidth: 10,itemHeight: 10,itemGap: 5,},series: [{center: ["center", "65%"], // 这个属性调整图像的位置!!!!!type: "pie",radius: ["45%", "60%"],itemStyle: {borderRadius: 15, // 设置圆环的圆角弧度},emphasis: {// 设置高亮时显示标签label: {show: true,},scale: true, // 设置高亮时放大图形scaleSize: 15,},label: {// 设置图形标签样式color: "#fff", //图例文字颜色show: false, // 未高亮时不显示标签,否则高亮时显示的标签会与静态的标签重叠position: "center",// 设置标签展示内容,其中{d}、{b}为echarts标签内容格式器formatter: "{d_style|{d}}{per_style|%}\n\n{b_style|{b}}",// 为标签内容指定样式,只能设置series-pie.label支持的样式rich: {d_style: {fontSize: 40,},per_style: {fontSize: 30,},b_style: {fontSize: 20,},},},data: seriesData,},],};myChart && myChart.setOption(option);let currentIndex = -1; // 当前高亮图形在饼图数据中的下标if (state.changePieInterval) clearInterval(state.changePieInterval); //关闭state.changePieInterval = myChart && setInterval(selectPie, 1000); // 设置自动切换高亮图形的定时器function highlightPie() {// 取消所有高亮并高亮当前图形// 遍历饼图数据,取消所有图形的高亮效果for (var idx in option.series[0].data)myChart &&myChart.dispatchAction({type: "downplay",seriesIndex: 0,dataIndex: idx,});// 高亮当前图形myChart &&myChart.dispatchAction({type: "highlight",seriesIndex: 0,dataIndex: currentIndex,});}myChart &&myChart.on("mouseover", (params: any) => {// 用户鼠标悬浮到某一图形时,停止自动切换并高亮鼠标悬浮的图形clearInterval(state.changePieInterval);currentIndex = params.dataIndex;highlightPie();});myChart &&myChart.on("mouseout", (params: any) => {// 用户鼠标移出时,重新开始自动切换if (state.changePieInterval) clearInterval(state.changePieInterval);state.changePieInterval = setInterval(selectPie, 1000);});function selectPie() {// 高亮效果切换到下一个图形var dataLen = option.series[0].data.length;currentIndex = (currentIndex + 1) % dataLen;highlightPie();}
};export {initVisualizingContentLeftBottom,
};

页面文件

template代码

<div ref="visualizingContentLeftBottom" style="height: 100%;"></div>

script代码

import { toRefs, reactive, onMounted, onUnmounted, getCurrentInstance, defineComponent } from 'vue';
import { initVisualizingContentLeftBottom } from "./echartsFn";export default defineComponent({setup() {// 页面卸载时onUnmounted(() => {clearInterval(state.changePieInterval);state.changePieInterval = null});// 页面加载时onMounted(() => {initVisualizingContentLeftBottom(proxy.$refs.visualizingContentLeftBottom, state)});const { proxy }: any = getCurrentInstance();const state = reactive({changePieInterval: null as any,});}
});

效果图

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

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

相关文章

C++之异常智能指针其他

C之异常&智能指针&其他 异常关于函数异常声明异常的优劣 智能指针auto_ptrunique_ptrshared_ptrweak_ptr定制删除器 智能指针的历史与boost库 特殊类单例模式饿汉和懒汉的优缺点 C四种类型转换CIO流结语 异常 try括起来的的代码块中可能有throw一个异常&#xff08;可…

混沌工程/混沌测试/云原生测试/云平台测试

背景 私有云/公有云/混合云等具有复杂&#xff0c;分布式&#xff0c;环境多样性等特点&#xff0c;许多特殊场景引发的线上问题很难被有效发现。所以需要引入混沌工程&#xff0c;建立对系统抵御生产环境中失控条件的能力以及信心&#xff0c;提高系统面对未知风险得能力。 …

Hive学习基本概念

基本概念 hive是什么&#xff1f; Facebook 开源&#xff0c;用于解决海量结构化日志的数据统计。 基于Hadoop的一个数据仓库工具&#xff0c;可以将结构化的数据文件映射为一张表&#xff0c;并提供类SQL查询功能 本质是将HQL转化为MapReduce程序。 Hive处理的数据存储在H…

数据分析流程中的Lambda架构,以及数据湖基于Hadoop、Spark的实现

文章目录 一、Lambda架构1、Lambda的三层架构2、简单解释&#xff1a;3、Lambda架构的优缺点 二、数据湖基于Hadoop、Spark的实现1、架构2、数据管理&#xff08;存储层的辅助功能&#xff09; 一、Lambda架构 1、Lambda的三层架构 Batch View&#xff08;批处理视图层&#…

算法笔记:力扣142.环形链表返回链表入口

该题目通俗来说就是需要返回节点的入口&#xff0c;这点与判断是否有环不同&#xff0c;有环是通过快慢指针的形式来判断&#xff0c;但当快慢指针相等的时候&#xff0c;此时的节点不一定是环的入口节点。所以这题需要注意。 关键API&#xff1a; map.putIfAbsent(key,value)…

医院管理系统

私信我获取源码和万字论文&#xff0c;制作不易&#xff0c;感谢点赞支持。 医院管理系统 摘要 随着信息互联网信息的飞速发展&#xff0c;医院也在创建着属于自己的管理系统。本文介绍了医院管理系统的开发全过程。通过分析企业对于医院管理系统的需求&#xff0c;创建了一个计…

说说Elasticsearch查询语句如何提升权重?

大家好&#xff0c;我是锋哥。今天分享关于【说说Elasticsearch查询语句如何提升权重&#xff1f;】面试题。希望对大家有帮助&#xff1b; 说说Elasticsearch查询语句如何提升权重&#xff1f; 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在 Elasticsearch 中&…

【Spring Security框架解析】

文章目录 Spring-security介绍Spring-security认证授权流程认证流程Security流程认证过滤器实现获取UserDetail信息 配置Security Spring-security介绍 Spring Security是一个功能强大且高度可定制的Java安全框架&#xff0c;用于保护基于Spring的应用程序。它提供了全面的安全…

[CISCN 2019华东南]Web11

[CISCN 2019华东南]Web11 给了两个链接但是都无法访问 这里我们直接抓包试一下 我们插入X-Forwarded-For:127.0.0.1 发现可以修改了右上角的IP地址&#xff0c;从而可以进行注入 {$smarty.version} 查看版本号 if标签执行PHP命令 {if phpinfo()}{/if} 查看协议 {if system(…

使用SpringBoot实现邮件发送(QQ邮箱为例)

使用SpringBoot实现邮件发送(QQ邮箱为例) 一、获取授权码 1.首先进入qq邮箱找到设置 2、账号栏目&#xff0c;找到POP3/SMTP服务 并开启服务 3、获取授权码 二、SpringBoot集成邮件发送 1.创建邮件发送服务类 package com.example.demo.service;import org.springframework…

hint: Updates were rejected because the tip of your current branch is behind!

问题 本地仓库往远段仓库推代码时候提示&#xff1a; error: failed to push some refs to 192.168.2.1:java-base/java-cloud.git hint: Updates were rejected because the tip of your current branch is behind! refs/heads/master:refs/heads/master [rejected] (…

基于BM1684的AI边缘服务器-模型转换,大模型一体机(二)

目标追踪 注&#xff1a;所有模型转换都是在docker环境中的 先进入docker 这里我们是要在docker环境里编译的&#xff0c;所以先进入docker :~/tpu-nntc# docker run -v $PWD/:/workspace -it sophgo/tpuc_dev:latest初始化环境 root2bb02a2e27d5:/workspace/tpu-nntc# s…

ROS基本框架2——在ROS开发中创建并使用自定义消息(C++版本)

ROS基本框架2——在ROS开发中创建并使用自定义消息(C++版本) code review! 参考笔记 1.ROS基本框架1——编写简单的发布者和订阅者(C++和Python版本) 2.ROS基本框架2——在ROS开发中创建并使用自定义消息(C++版本) 文章目录 ROS基本框架2——在ROS开发中创建并使用自定义…

实例讲解MATLAB绘图坐标轴标签旋转

在进行绘图时需要在图片上添加上做标轴的标签&#xff0c;但是当数据量比较多时&#xff0c;例如一天24小时的数据&#xff0c;这时把每个小时显示在左边轴的标签上&#xff0c;文字内容放不下&#xff0c;因此需要将坐标轴标签旋转一定的角度&#xff0c;这样可以更好在图形上…

Spark 内存管理机制

Spark 内存管理 堆内内存和堆外内存 作为一个 JVM 进程&#xff0c;Executor 的内存管理建立在 JVM(最小为六十四分之一&#xff0c;最大为四分之一)的内存管理之上&#xff0c;此外spark还引入了堆外内存&#xff08;不在JVM中的内存&#xff09;&#xff0c;在spark中是指不…

为什么爱用低秩矩阵

目录 为什么爱用低秩矩阵 一、定义与性质 二、区别与例子 为什么爱用低秩矩阵 我们更多地提及低秩分解而非满秩分解,主要是因为低秩分解在数据压缩、噪声去除、模型简化和特征提取等方面具有显著的优势。而满秩分解虽然能够保持数据的完整性,但在实际应用中的场景较为有限…

Dify+Docker

1. 获取代码 直接下载 &#xff08;1&#xff09;访问 langgenius/dify: Dify is an open-source LLM app development platform. Difys intuitive interface combines AI workflow, RAG pipeline, agent capabilities, model management, observability features and more, …

Android Studio的AI工具插件使用介绍

Android Studio的AI工具插件使用介绍 一、前言 Android Studio 的 AI 工具插件具有诸多重要作用&#xff0c;以下是一些常见的方面&#xff1a; 代码生成与自动补全 代码优化与重构 代码解读 学习与知识获取 智能搜索与资源推荐实际使用中可以添加注释&#xff0c;解读某段代…

DOCKER学习总结

这里写目录标题 一、Docker安装1.1 在线安装1.2 离线安装安装配置启动服务 1.3 配置镜像1.4 Docker启动相关命令 二、Docker三大核心概念2.1 镜像2.2 容器2.3 仓库2.3.1 公有仓库2.3.2 私有仓库 二、容器与虚拟机比较 一、Docker安装 1.1 在线安装 查看是否安装dockeryum lis…

深入浅出体验AI生图产品Dall-E

DALL-E是由OpenAI开发的一种革命性的AI图像生成工具&#xff0c;能够根据文本描述生成图像。它的名字灵感来源于著名画家萨尔瓦多达利&#xff08;Salvador Dal&#xff09;和皮克斯动画电影中的角色瓦力&#xff08;WALL-E&#xff09;&#xff0c;这暗示了其在艺术创造力与技…