数据可视化-ECharts Html项目实战(13)

 在之前的文章中,我们深入学习ECharts动态主题切换和自定义ECharts主题。想了解的朋友可以查看这篇文章。同时,希望我的文章能帮助到你,如果觉得我的文章写的不错,请留下你宝贵的点赞,谢谢。

数据可视化-ECharts Html项目实战(12)-CSDN博客文章浏览阅读1.7k次,点赞35次,收藏16次。今天的文章,会带着大家深入学习ECharts特殊图表设置中的ECharts动态主题切换和自定义ECharts主题。希望我的文章能帮助到正在学习的你,也欢迎各位来本篇文章下一起交流学习,共同进步。https://blog.csdn.net/qq_49513817/article/details/137770088今天的文章,我会以鼠标左键触发为例带着大家学习ECharts特殊图表设置中组件交互的行为事件。希望你能在本篇文章中有所收获。

目录

一、知识回顾

二、组件交互

组件交互是什么?

代码实现

三、拓展-鼠标事件方法

常规鼠标事件方法

params

一、知识回顾

 在之前的文章中我们学习了动态主题切换和自定义ECharts主题。

首先官方主题需要我们自己去下载并放入我们的js文件中调用。

其次要实现主题切换我们需要在每次切换主题后,销毁原有的示例,用新选择的主题创建新的示例,以此来达到我们动态切换主题的效果。

再就是自定义主题

官网供我们设置的选项有很多,这写选项可以让我们自己来配置我们想要的主题效果,配置完成后导入我们的js文件中,和之前一样的调用即可。

现在,开始今天的学习吧。 

二、组件交互

组件交互是什么?

  • ECharts组件交互指的是在使用ECharts这个基于JavaScript的开源可视化库时,通过其提供的各种交互功能,使得用户可以与图表进行互动,获取更多的信息或进行相应的操作。
  • ECharts提供了丰富的图表类型和交互功能,使得创建各种复杂的数据可视化效果成为可能。在ECharts中,子组件的调用方式主要有两种:事件触发和API调用。事件触发是指子组件会发出各种事件,如点击、鼠标移入、鼠标移除等,父组件可以监听这些事件,并在事件被触发时执行相应的方法。而API调用则允许子组件调用父组件中的方法,实现多种数据交互和联动效果。
  • 通过ECharts的交互功能,用户可以更直观地理解数据,发现数据中的规律和趋势,从而提高数据分析和决策的效率。同时,ECharts还支持多种渲染方式,包括HTML、SVG和Canvas,可以方便地嵌入到网页中,实现与网页其他元素的联动和交互。

代码实现

今天的例子是鼠标左键触发,使其鼠标左键单击我们的图表上的数据可以显示我们的详细信息。

myChart.on('click', function(params) {  
alert(" 1-月份" + params.name + "\n 2-图表类型:"+params.seriesType + "\n 3-颜色:"+params.color + "\n 4-名称:"+params.name + "\n 5-控件名称:" + params.seriesname + "\n 6-数据:"+params.data);    }); 

在这段代码中,我做了如下设置:

  • myChart:这是一个 ECharts 实例的引用,通常通过 echarts.init 方法初始化一个图表后会得到一个这样的实例。
  • .on('click', function(params) { ... }): 这是事件监听的方法,用于监听图表上的点击事件。当图表被点击时,会执行传入的回调函数,并且这个回调函数会接收到一个 params 参数,这个参数包含了与点击事件相关的数据。
  •  alert 函数:用来显示一个弹出框,内容是由多行字符串组成的,每行都包含了与点击事件相关的不同信息:

 可以看到,现在我们点击图表内的数据,就会弹出我们刚才设置需要的图表信息。

完整代码 

<!DOCTYPE html>
<html><head><meta charset="utf-8"><script type="text/javascript" src='js/echarts.js'></script>
</head>
<body><div id="main" style="width: 800px; height: 600px"></div><script type="text/javascript">// 基于准备好的dom,初始化ECharts图表var myChart = echarts.init(document.getElementById("main"));var option = { // 指定图表的配置项和数据tooltip: {trigger: 'axis'},legend: {data: ['降水量', '蒸发量', '温度'],left: 'center',top: 12},xAxis: [{type: 'category',data: ['1月', '2月', '3月', '4月', '5月', '6月','7月', '8月', '9月', '10月', '11月', '12月']}],yAxis: [{ // 设置2个Y轴之1:降水量、蒸发量type: 'value',name: '水量',min: 0,max: 200,interval: 50,axisLabel: {formatter: '{value}  ml'}},{ // 设置2个Y轴之2:温度type: 'value',name: '温度',min: 0,max: 30,position: 'right', // 设置y轴安置的位置offset: 0, // 设置向右偏移的距离axisLabel: {formatter: '{value} °C'}}],series: [{name: '降水量',type: 'bar',data: [2.6, 5.9, 9, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6, 2.3]},{name: '蒸发量',type: 'bar',data: [2, 4.9, 7, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20, 6.4, 3.3]},{name: '温度',type: 'line',yAxisIndex: 1, //指定使用第2个y轴data: [2, 2.2, 3.3, 4.5, 6.3, 10.2, 20.3, 23.4, 23, 16.5, 12, 6.2]}]};myChart.setOption(option);  myChart.on('click', function(params) {  alert(" 1-月份" + params.name + "\n 2-图表类型:"+params.seriesType + "\n 3-颜色:"+params.color + "\n 4-名称:"+params.name + "\n 5-控件名称:" + params.seriesname + "\n 6-数据:"+params.data);    }); 	</script></body>
</html>

快去试试吧。 

三、拓展-鼠标事件方法

常规鼠标事件方法

事件类型描述
'click'鼠标单击目标元素时触发
'dblclick'鼠标双击目标元素时触发
'mousedown'在目标元素上按下鼠标键时触发
'mousemove'鼠标在目标元素内部移动时不断触发
'mouseup'在目标元素上释放按下的鼠标键时触发
'mouseover'鼠标移入目标元素时触发,移动到其后代元素也会触发
'mouseout'鼠标移出目标元素时触发
'globalout'鼠标移出整个图表时触发
'contextmenu'鼠标右键点击时触发

params

属性/方法描述
params.name数据项的名称或标签,通常用于X轴或图例的显示。
params.data数据项的值或详细数据,具体格式和内容取决于图表的类型。
params.value数据项的值,有时与 params.data 相同,但也可能表示特定的数值。
params.type事件类型,如点击事件为 'click'。
params.seriesName图表中系列的名称,用于标识不同的数据集。
params.seriesIndex当前数据项所属的系列在 option.series 中的索引。
params.dataIndex当前数据项在数据数组中的索引,用于标识数据的位置。
params.color数据项的颜色,用于自定义数据点的颜色。
params.componentType事件触发时组件的类型,如 'series' 表示系列组件。

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

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

相关文章

写后端项目的分页查询时,解决分页不更新

写基于VueSpringBoot项目&#xff0c;实现分页查询功能时&#xff0c;改完代码后&#xff0c;发现页数不更新&#xff1a; 更改处如下&#xff1a; 显示如图&#xff1a; 发现页数没有变化&#xff0c;两条数据还是显示在同一页&#xff0c;而且每页都10条。且重启项目也没有更…

零基础小白,如何入门计算机视觉?

目录 前言 计算机视觉技术学习路线 基础知识 1. 数学基础 2. 编程基础 3. 图像处理基础 基础算法与技术 1. 特征提取与描述符 2. 图像分割与对象检测 3. 三维重建与立体视觉 机器学习与深度学习 1. 机器学习基础 2. 深度学习 高级主题与应用 1. 高级机器学习与深度学习 2. 计算…

基于双向长短期神经网络BILSTM的收盘预测,基于gru神经网络的收盘预测

目录 背影 摘要 LSTM的基本定义 LSTM实现的步骤 BILSTM神经网络 基于双向长短期神经网络BILSTM的收盘预测,基于gru神经网络的收盘预测 完整代码:基于双向长短期神经网络BILSTM的收盘预测,基于gru神经网络的收盘预测(代码完整,数据齐全)资源-CSDN文库 https://download.cs…

论文笔记:Are Human-generated Demonstrations Necessary for In-context Learning?

iclr 2024 reviewer 评分 6668 1 intro 大型语言模型&#xff08;LLMs&#xff09;已显示出在上下文中学习的能力 给定几个带注释的示例作为演示&#xff0c;LLMs 能够为新的测试输入生成输出然而&#xff0c;现行的上下文学习&#xff08;ICL&#xff09;范式仍存在以下明显…

简述PDF原理和实践

Hello&#xff0c;我是小恒不会java。 由于最近有输出PDF报表的项目需求&#xff0c;所以复习一下PDF到底是什么&#xff0c;该如何产生&#xff0c;如何应用至项目中。 更多参见Adobe官方文档&#xff08;https://www.adobe.com/cn/&#xff09; PDF原理 PDF&#xff08;Port…

机器学习实验二-----决策树构建

决策树是机器学习中一种基本的分类和回归算法&#xff0c;是依托于策略抉择而建立起来的树。本文学习的是决策树的分类 1. 构建决策树流程 选择算法&#xff1a;常用的算法包括ID3、C4.5、CART等。 划分节点&#xff1a;根据数据特征和算法选择&#xff0c;递归地划分节点&…

亚信安全数据安全运营平台DSOP新版本发布 注入AI研判升维

在当今快速发展的数字经济时代&#xff0c;企业对于数据的依赖日益加深&#xff0c;数据安全已成为企业的生命线。亚信安全推出数据安全运营平台DSOP全新版本&#xff0c;正是为满足企业对数据安全的高度需求而设计。这款平台以其卓越的能力和技术优势&#xff0c;为企业的数据…

【达梦数据库--无效的列】

【需求】 MySQL需要替换成达梦数据库 【问题】 在适配过程中查询、更新、删除都没有问题&#xff0c;只有在insert时会报错&#xff0c;显示无效的列 【解决】 1.先根据日志&#xff0c;将执行的sql去达梦执行无报错&#xff0c;排除列及类型错误 2.数据库表均是大写&#xf…

漂亮的七彩引导页导航HTML源码

源码介绍 漂亮的七彩引导页导航HTML源码&#xff0c;源码由HTMLCSSJS组成&#xff0c;记事本打开源码文件可以进行内容文字之类的修改&#xff0c;双击html文件可以本地运行效果&#xff0c;也可以上传到服务器里面&#xff0c;重定向这个界面 效果截图 源码下载 漂亮的七彩…

ceph large omap objects

问题 出现下面告警信息 ceph -scluster:id: xxxxxxxxxxxxxxxxxxxxxxxhealth: HEALTH_WARN7 large omap objects获取问题 pool # ceph health detail HEALTH_WARN 7 large omap objects; 4 clients failing to respond to cache pressure [WRN] LARGE_OMAP_OBJECTS: 7 larg…

notepad++安装包(亲测可用)

目录 一、软件简介 二、软件下载 一、软件简介 Notepad是一款开源的、免费的文本编辑器&#xff0c;它最初由侯今吾基于Scintilla文本编辑组件独立研发。Notepad以GPL发布&#xff0c;并拥有完整的中文化接口&#xff0c;支持多国语言编写的功能&#xff08;采用UTF8技术&…

Linux grpconv命令教程:如何将组转换为阴影组(附案例详解和注意事项)

Linux grpconv命令介绍 grpconv命令用于将组转换为阴影组。grpconv命令根据现有的组和可选的现有阴影组创建gshadow。每个程序在转换之前都会获取必要的锁。pwconv和grpconv命令是相同的。 Linux grpconv命令适用的Linux版本 grpconv命令在大多数Linux发行版中都可以使用&am…

初始Next.js

版本&#xff1a; 本系列next.js基于的是目前最新版本的 v14 版本&#xff0c;需要 Node.js 18.17 及以后版本 创建项目&#xff1a; 最快捷的创建 Next.js 项目的方式是使用 create-next-app脚手架&#xff0c;你只需要运行&#xff1a; npx create-next-applatest&&am…

判断是不是二叉搜索树【c++】

#include <iostream> #include <vector> using namespace std;//双链表节点结构 typedef struct treeNode {int value;struct treeNode* left;struct treeNode* right;treeNode(int x) : value(x), left(nullptr), right(nullptr) {} } TreeNode;void inOrderTrave…

【C++题解】1565. 成绩(score)

问题&#xff1a;1565. 成绩&#xff08;score&#xff09; 类型&#xff1a;基本运算、小数运算 题目描述&#xff1a; 牛牛最近学习了 C 入门课程&#xff0c;这门课程的总成绩计算方法是&#xff1a; 总成绩作业成绩 20% 小测成绩 30% 期末考试成绩 50%。 牛牛想知道&am…

CSS 预处理器

文章目录 特点变量和混合嵌套规则运算和函数扩展性和可定制性代码组织和模块化未来CSS特性的支持 语法嵌套变量运算函数继承Mixin条件语句导入 Sass、Less、Stylus 区别语法差异变量定义混合器(Mixins)函数和运算 特点 变量和混合 预处理器允许你使用变量来存储常用的值&…

【C++刷题】优选算法——动态规划第四辑

回文子串 状态表示:dp[i][j]: 表示以i位置开始&#xff0c;j位置结尾的子串是否是回文串 状态转移方程:i j: dp[i][j] true;i 1 j && s[i] s[j]: dp[i][j] true;i 1 < j && dp[i1][j-1] && s[i] s[j]: dp[i][j] true;int countSubstrings…

04-15 周一 GitHub仓库CI服务器actions-runner和workflow yaml配置文档解析

04-15 周一 GitHub仓库CI服务器配置过程文档 时间版本修改人描述2024年4月15日10:35:52V0.1宋全恒新建文档2024年4月17日10:33:20v1.0宋全恒完成github actions CI的配置和工作流配置文件解读文档的撰写 简介 一些基础概念 前提知识 仓库介绍 地址镜像介绍https://github.…

GIT上超火的阿里内部1000页Java核心笔记,啃完竟然拿到阿里P7offer!

除了ReetrantLock&#xff0c;你还接触过JUC中的哪些并发工具&#xff1f; 请谈谈ReadWriteLock 和StampedLock。 如何让Java的线程彼此同步&#xff1f;你了解过哪些同步器&#xff1f;请分别介绍下。 CyclicBarrier和CountDownLatch看起来很相似&#xff0c;请对比下呢&am…

Django中的数据库优化与ORM性能调优【第169篇—ORM性能调优】

&#x1f47d;发现宝藏 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 Django中的数据库优化与ORM性能调优 在开发基于Django的Web应用程序时&#xff0c;数据库是…