记录:echarts实现tooltip的某个数据常显和恢复
<template><div class="com-wapper"><div class="func-btns"><el-button type="primary" plain @click="showPoint('2023')">固定显示2023年数据</el-button><el-button type="success" plain @click="clearFixedTooltip">恢复</el-button></div><div ref="chartRef" class="chart-content"></div></div>
</template><script>
import * as echarts from "echarts";
export default {name: "com-page",components: {},props: {},data() {return {myData: {xData: ["2021", "2022", "2023", "2024", "2025"],dataList: [{name: "概率论",value: [61, 58, 72, 76, 83],},{name: "高等数学",value: [78, 62, 86, 83, 80],},{name: "离散数学",value: [91, 78, 66, 79, 92],},],},myChart: null,option: null,isShow: false,};},mounted() {this.drawingChart();window.addEventListener("resize", this.resize);},methods: {/*** 画图*/drawingChart() {this.myChart = echarts.init(this.$refs.chartRef);this.option = {grid: {containLabel: true,},legend: {data: this.myData.dataList.map((item) => {return {name: item.name,};}),},tooltip: {show: true,trigger: "axis",alwaysShowContent: false,},xAxis: [{type: "category",data: this.myData.xData,boundaryGap: true,},],yAxis: [{splitNumber: 5,min: 0,max: 100,},],series: this.myData.dataList.map((item) => {return {type: "line",data: item.value,name: item.name,smooth: true,showSymbol: true,};}),};this.myChart.setOption(this.option);},/*** 重置图表*/resize() {this.myChart && this.myChart.resize();},/*** 显示固定点的tooltip*/showPoint(point) {let xAxisData = this.myData.xData; // 横轴数据const index = xAxisData.findIndex((item) => item === point);if (index !== -1) {// 显示当前数据tooltipthis.myChart.dispatchAction({type: "showTip",seriesIndex: 0,dataIndex: index, // 要显示的数据点索引值});// 修改配置,保持tooltip一直显示this.myChart.setOption({tooltip: {alwaysShowContent: true,},});// 临时禁用鼠标事件this.myChart.getZr().off("globalout");this.myChart.getZr().off("click");this.myChart.getZr().off("mousemove");// 标记一下this.isShow = true;}},/*** 恢复tooltip的正常使用*/clearFixedTooltip() {if (this.isShow) {this.isShow = false;// 取消常显配置this.myChart.setOption({tooltip: {alwaysShowContent: false,},});// 恢复默认交互,重新绑定mousemove和globaloutconst zr = this.myChart.getZr();const that = this;zr.on("mousemove", function (e) {that.myChart._api.dispatchAction({type: "showTip",x: e.offsetX,y: e.offsetY,});});zr.on("globalout", function () {that.myChart._api.dispatchAction({type: "hideTip",});});// 隐藏当前tooltipthis.myChart.dispatchAction({type: "hideTip",});}},},beforeDestroy() {window.removeEventListener("resize", this.resize);this.myChart && this.myChart.dispose();},
};
</script><style lang='scss' scoped>
.com-wapper {height: 100%;.func-btns {text-align: center;}.chart-content {width: 100%;height: 70%;padding-top: 40px;margin-top: 30px;background: rgba(237, 237, 237, 0.2);}
}
</style>
相关文章:

记录:echarts实现tooltip的某个数据常显和恢复
<template><div class"com-wapper"><div class"func-btns"><el-button type"primary" plain click"showPoint(2023)">固定显示2023年数据</el-button><el-button type"success" plain cli…...

八股文--JVM(1)
⭐️⭐️JVM内存模型 程序计数器:可以看作是当前线程所执行的字节码的行号指示器,用于存储当前线程正在执行的 Java 方法的 JVM 指令地址。如果线程执行的是 Native 方法,计数器值为 null。是唯一一个在 Java 虚拟机规范中没有规定任何 OutOf…...

从RPA项目说说RPC和MQ的使用。
去年我负责一个 RPA(机器人流程自动化)项目,帮某电商公司搭建订单处理系统。项目里有个场景特别有意思:当用户下单后,系统需要同时触发库存扣减、物流调度、积分发放三个模块。一开始我们想都没想,直接用 R…...
【大模型面试每日一题】Day 21:对比Chain-of-Thought(CoT)与Self-Consistency在复杂推理任务中的优劣
【大模型面试每日一题】Day 21:对比Chain-of-Thought(CoT)与Self-Consistency在复杂推理任务中的优劣 📌 题目重现 🌟 面试官:我们在数学推理和逻辑推理任务中发现,Self-Consistency方法比传统…...

UUG杭州站 | 团结引擎1.5.0 OpenHarmony新Feature介绍
PPT下载地址:https://u3d.sharepoint.cn/:b:/s/UnityChinaResources/EaZmiWfAAdFFmuyd6c-7_3ABhvZoaM69g4Uo2RrSzT3tZQ?e2h7RaL 在2025年4月12日的Unity User Group杭州站中,Unity中国OpenHarmony技术负责人刘伟贤带来演讲《团结引擎1.5.0 OpenHarmony新…...

Vue3——父子组件通信
在Vue开发中,组件通信是核心概念之一。良好的组件通信机制能让我们的应用更加清晰、可维护。 父传子defineProps defineProps是一个编译时宏,仅在内部可用,不需要显式导入。声明的 props 会自动暴露给模板。 还返回一个对象,其中…...

游戏引擎学习第276天:调整身体动画
运行游戏,演示我们遇到的拉伸问题,看起来不太好,并考虑切换到更顶视角的视角 我们开始讨论游戏开发中的一些美学决策,特别是在处理动画方面。虽然我们是游戏程序员,通常不负责设计或艺术部分,但因为这是一…...

从开发者角度看数据库架构进化史:JDBC - 中间件 - TiDB
作者: Lucien-卢西恩 原文来源: https://tidb.net/blog/e7034d1b Java 应用开发技术发展历程 在业务开发早期,用 Java 借助 JDBC 进行数据库操作,虽能实现基本交互,但需手动管理连接、编写大量 SQL 及处理结果集&a…...

Mipsel固件Fuzzing小记
Mipsel固件Fuzzing小记 0x01 准备 1.1 安装必要工具链 首先需要安装 MIPS 交叉编译工具链和相关依赖: sudo apt-get install -y gcc-mipsel-linux-gnu g-mipsel-linux-gnu binwalk qemu-user-static afl这些工具分别用于:交叉编译、固件解包、二进制…...

本土DevOps革命:Gitee如何撬动中国企业的数字化转型新动能
在数字化浪潮席卷全球的背景下,中国企业正面临前所未有的转型压力与机遇。随着《数据安全法》和《个人信息保护法》的全面实施,以及信创产业政策的深入推进,研发工具链的自主可控已成为关乎企业核心竞争力的战略命题。在这一关键赛道上&#…...
关于此站点更改通知.top域名后期将统一更换为snowytime.cn访问,其余top访问进入过渡期
随着互联网技术的不断发展和域名应用的日益普及,为了更好地满足用户需求,提升网站访问体验,我们决定对现有的.top域名进行一次重大调整。自2025年6月1日起,.top域名后期将统一更换为snowytime.cn访问,其余top访问将暂时…...
使用python进行人员轨迹跟踪
一、系统概述 该系统基于计算机视觉技术,实现对视频或摄像头画面中的人员进行检测、跟踪,并生成轨迹数据。支持透视变换校准(鸟瞰图显示)、多目标跟踪、轨迹存储及视频录制功能,适用于安防监控、行为分析等场景。 二…...

强化学习入门:马尔科夫奖励过程二
文章目录 前言1、动作2、策略总结 前言 最近想开一个关于强化学习专栏,因为DeepSeek-R1很火,但本人对于LLM连门都没入。因此,只是记录一些类似的读书笔记,内容不深,大多数只是一些概念的东西,数学公式也不会…...

JVM 双亲委派机制
一、从 JDK 到 JVM:Java 运行环境的基石 在 Java 开发领域,JDK(Java Development Kit)是开发者的核心工具包。它不仅包含了编译 Java 代码的工具(如 javac),还内置了 JRE(Java Run…...

uniapp -- uCharts 仪表盘刻度显示 0.9999999 这样的值问题处理。
文章目录 🍉问题🍉解决方案🍉问题 在仪表盘上,23.8变成了 23.799999999999997 🍉解决方案 formatter格式化问题 1:在 config-ucharts.js 或 config-echarts.js 配置对应的 formatter 方法 formatter: {yAxisDemo1: function (...

BGP团体属性
团体属性: 1、用于限制BGP路由的传递范围 2、类似于IGP协议中的tag值,用于对BGP路由实现标记。 团体属性的分类: 1、公共团体属性: Internet:默认所有路由都有该属性,具有该属性BGP路由发送给所有的BGP邻居…...

Redis——三大策略
过期删除策略 Redis可以对key设置过期时间,因此需要有相应的机制将已过期的键值对删除 设置了过期时间的key会存放在过期字典中,可以用presist命令取消key过期时间 过期字典存储在redisDb结构中: typedef struct redisDb {dict *dict; …...

Windows 操作系统使用 Tcping 命令检查目标主机端口是否开放
检查目标主机端口是否开放的方法已经很多了,网络上也有第三方网页版的检查工具,这篇文章给大家介绍一个实用小工具 Tcping 。 一、下载安装 Tcping 命令 Tcping 非 Windows 自带命令,我们需要下载 Tcping 可执行文件,然后将该文…...
序列化和反序列化:从理论到实践的全方位指南
你好,我是 shengjk1,多年大厂经验,努力构建 通俗易懂的、好玩的编程语言教程。 欢迎关注!你会有如下收益: 了解大厂经验拥有和大厂相匹配的技术等 希望看什么,评论或者私信告诉我! 文章目录 一…...
PDF Base64格式字符串转换为PDF文件临时文件
需求描述: 在对接电子病历系统与河北CA,进行免密文件签章的时候,两者系统入参不同,前者是pdf文件,base64格式;后者要求File类型的PDF文件。 在业务中间层开发时,则需要接收EMR侧提供的base64格式…...

开源RTOS(实时操作系统):nuttx 编译
开源RTOS(实时操作系统):nuttx 编译 手册:Installing — NuttX latest documentation 源码:GitHub - apache/nuttx: Apache NuttX is a mature, real-time embedded operating system (RTOS) Installing The fir…...

python打包exe报错:处理文件时错误:Excel xlsx file; not supported
背景:最近用python写一个excel解析工具,然后打包成exe可执行文件的时候,遇到这样的问题 1.在我自己编译器运行是可以正常将上传后的excel进行解析,但是在打包成exe后,就无法正常解析excel 问题排查: 1.切换…...

VUE3 -综合实践(Mock+Axios+ElementPlus)
目录 前言 目标 1.工程创建 2.Mock 2.1 配置Mock 扩 展 2.2 定义模拟数据 2.3 创建Mock服务器 3.导入ElementPlus 4.表格页面搭建 5.动态路由跳转 6.详情页面的制作 前言 基于前文 VUE3详细入门,我们对VUE3的基本使用有了初步的了解,下…...

NDS3211HV单路H.264/HEVC/HD视频编码器
1产品概述 NDS3211HV单路高清编码器是一款功能强大的音/视频编码设备,支持2组立体声,同时还支持CC(CVBS)字幕。支持多种音频编码方式。该设备配备了多种音/视频输入接口:HD-SDI数字视频输入、HDMI高清输入(支持CC)、A…...

LeetCode热题100--206.反转链表--简单
1. 题目 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例 1: 输入:head [1,2,3,4,5] 输出:[5,4,3,2,1] 示例 2: 输入:head [1,2] 输出:[2,1] 示例 3&…...

来一个复古的技术FTP
背景 10年前的老代码,需要升级springboot框架,在升级过程中,测试业务流程里,有FTP的下载业务,不管测试环境如何测试,都没有成功,最后只能自己搭建一个FTP服务器,写一个ftp-demo来测试…...
OpenCV CUDA模块中矩阵操作------分布统计类
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在 OpenCV 的 CUDA 模块中,meanStdDev 函数用于计算矩阵的平均值(Mean)和标准差(StdDevÿ…...

OpenWebUI新突破,MCPO框架解锁MCP工具新玩法
大家好,Open WebUI 迎来重要更新,现已正式支持 MCP 工具服务器,但 MCP 工具服务器需由兼容 OpenAPI 的代理作为前端。mcpo 是一款实用代理,经测试,它能让开发者使用 MCP 服务器命令和标准 OpenAPI 服务器工具ÿ…...
go.mod关于go版本异常的处理
1.私有仓库 go.mod 要注意module的配置mod地址,要与下载地址一致。 否则就算下载下来,就会比较后报错。 module test.com/devGroup/devProjectgo 1.22.2 2. 代码中的包引用地址。 要与module中的mod路径一致 package mainimport ("module …...

TRTC实时对话式AI解决方案,助力人机语音交互极致体验
近年来,AI热度持续攀升,无论是融资规模还是用户热度都大幅增长。2023 年,中国 AI 行业融资规模达2631亿人民币,较2022年上升51%;2024年第二季度,全球 AI 初创企业融资规模为 240 亿美金,较第一季…...