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

 在之前的文章中,我们学习了如何设置漏斗图、仪表盘。想了解的朋友可以查看这篇文章。同时,希望我的文章能帮助到你,如果觉得我的文章写的不错,请留下你宝贵的点赞,谢谢

数据可视化-ECharts Html项目实战(6)-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/qq_49513817/article/details/136998085?spm=1001.2014.3001.5501今天的文章,会带着大家学习ECharts特殊图标中的散点图与仪表图的基础上,教给大家如何设置它们的特殊效果,例如散点图的涟漪效果,仪表盘的随机动态指针效果,希望你能在本篇文章中有所收获。

目录

一、知识回顾

二、散点图涟漪效果

三、仪表盘随机动态效果

拓展-两图关键词及作用

1.散点图

2.仪表盘


一、知识回顾

 散点图我们需要将将type属性更改一下为funnel就行了,

这样就完成了

而在仪表盘的设置中

设置的就有点多了,要设置仪表盘的半径,仪表盘的起始角度和结束角度,仪表盘的指针与刻度,并且需要将我们的type更改为gauge

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

二、散点图涟漪效果

 涟漪效果,我们需要设置的比较多,但大多数都是让涟漪效果更加好看。

{  // 图表类型为带有特效的散点图  type: 'effectScatter',  // 是否在鼠标悬浮时不显示图形,false表示显示  silent: false,  // 图表系列名称  name: '极值',  // 是否启用图例联动,false表示不启用  legendHoverLink: false,  // 是否启用鼠标悬浮时的动画效果,false表示不启用  hoverAnimation: false,  // 特效类型,这里为'ripple',表示涟漪效果  effctType: 'ripple',  // 特效的触发时机,'render'表示在渲染时就触发特效  showEffectOn: 'render',  // 涟漪特效的配置项  rippleEffect: {  // 涟漪动画的周期,单位秒  period: 2,  // 涟漪的缩放比例  scale: 5.5,  // 涟漪的绘制方式,'fill'表示填充  brushType: 'fill',  },  // 数据点的图形大小  symbolSize: 20,  // 数据集,每个数组元素代表一个数据点,第一个值为x轴坐标,第二个值为y轴坐标  data: [  [367, 1695026.6],    // 第一个数据点  [2059, 9903786.32]   // 第二个数据点  ]  
}

以上就是我们涟漪效果需要设置的配置项,没什么难度。

现在,把它插入一个客户数与销售额对比表中看看效果。

散点图涟漪效果演示

<!DOCTYPE html>
<html><head><meta charset="utf-8"><script src="js/echarts.js"></script></head><body><div id="main" style="width: 820px; height: 600px"></div><script type="text/javascript">var myChart = echarts.init(document.getElementById("main"));var option = {title: {text: '客户销售比',},color: ['crimson', 'lightpink'],xAxis: {scale: true,name: '客户数量',color: 'lightpink',},yAxis: {scale: true,name: '销售额',},series: [{type:'effectScatter',silent:false,name:'极值',legendHoverLink:false,hoverAnimation:false,effctType:'ripple',showEffectOn:'render',rippleEffect:{period:2,scale:5.5,brushType:'fill',},symbolSize:20,data:[[367, 1695026.6],    [2059, 9903786.32]]},{type: 'scatter',symbolSize: 20,data: [[468, 3134352.75],[1547, 8150670.62],[748, 4677846.24],[601, 4234075.23],[2059, 9903786.32],[429, 2657902.04],[1012, 5128837.07],[561, 3954075.17],[422, 2290201.87],[1188, 6193413.66],[367, 1695026.6],[1232, 6736514.25],],}],};myChart.setOption(option);</script>
</body></html>

同时,我们也可以插入图片来变成我们的一个散点,并形成涟漪。

            {type:'effectScatter',silent:false,name:'极值',legendHoverLink:false,hoverAnimation:false,effctType:'ripple',showEffectOn:'render',rippleEffect:{period:2,scale:5.5,brushType:'fill',},symbol: 'image://image/2.png',symbolSize:20,data:[[367, 1695026.6],    [2059, 9903786.32]]},

 快去练习吧

三、仪表盘随机动态效果

 在ECharts要设置我们的动态仪表盘的效果,就离不开我们的setInterval 函数来进行我们的一个图表定时更新。

setInterval(function() {  option.series[0].data[0].value = parseFloat((Math.random() * 100).toFixed(2));  option.series[1].data[0].value = parseFloat((Math.random() * 100).toFixed(2)); // 假设第二个仪表盘的值也在0-100之间  myChart.setOption(option, true);  }, 2000);  
  • setInterval(function() { ... }, 2000);它是一个定时器,我给定的数值是2000,那就代表他每2000毫秒会更具我给定的数值刷新一次图表。
  • 而Math.rabom()*100就是在1到100中生成一个浮点数,保证它随机生成的数值不会超过我们刻度给定的最高值。
  • .toFixed将生成的浮点数转化为保留两位小数的字符串。最后将值赋给option。这样,就达到了我们所预期的随机动态效果,

那么现在,上视频。

仪表盘动态效果演示

<!DOCTYPE html>  
<html>  
<head>  <meta charset="utf-8">  <!-- 引入ECharts脚本 -->  <script src="js/echarts.js"></script>  
</head>  
<body>  <div id="main" style="width: 800px;height: 600px;"></div>  <script type="text/javascript">  var myChart = echarts.init(document.getElementById('main'));  var option = {  title: {  text: '速度',  textStyle: {  color: 'red'  },  left: 15,  top: 0  },  series: [  {  name: 'G1',  type: 'gauge',  center: ['25%', '50%'], // 第一个仪表盘的位置  radius: '50%', // 第一个仪表盘的半径  progress: {  show: true  },  detail: {  valueAnimation: true,  formatter: '{value}'  },  data: [  {  value: 65,  name: '1'  }  ]  },  {  name: 'G2', // 仪表盘名称建议唯一  type: 'gauge',  center: ['75%', '50%'], // 第二个仪表盘的位置  radius: '50%', // 第二个仪表盘的半径  progress: {  show: true  },  detail: {  valueAnimation: true,  formatter: '{value}'  },  data: [  {  value: 80,  name: '2'  }  ]  }  ]  };  myChart.setOption(option);  setInterval(function() {  option.series[0].data[0].value = parseFloat((Math.random() * 100).toFixed(2));  option.series[1].data[0].value = parseFloat((Math.random() * 100).toFixed(2)); // 假设第二个仪表盘的值也在0-100之间  myChart.setOption(option, true);  }, 2000);  </script>  
</body>  
</html>

现在快去尝试吧

拓展-两图关键词及作用

1.散点图

关键词名称描述举例
涟漪效果 (rippleEffect)当鼠标悬停在散点上时,产生涟漪扩散效果,增强交互体验。涟漪效果可以设置为 { scale: 5, period: 4 },其中 scale 控制涟漪的大小,period 控制涟漪的动画周期。
散点大小 (symbolSize)散点的大小可以根据数据值进行动态调整,以更直观地展示数据大小关系。可以使用函数来设置 symbolSize,例如 symbolSize: function (val) { return val[2] / 10; },其中 val 是散点的数据值。
散点形状 (symbol)散点的形状可以是圆形、方形、三角形等,也可以自定义图片作为形状。可以设置 symbol: 'circle' 来使用圆形散点,或者 symbol: 'image://url' 来使用自定义图片作为散点形状。
散点颜色 (itemStyle.color)散点的颜色可以根据数据值进行动态调整,或者使用渐变色、纹理等效果。可以使用函数来设置颜色,例如 itemStyle: { color: function (params) { return params.data[2] > 10 ? '#ff0000' : '#00ff00'; } },根据数据值大于或小于 10 来设置不同颜色。
标签显示 (label)可以在散点上显示标签,展示数据值或其他信息。可以设置 label: { show: true, formatter: '{b}' } 来显示散点的数据值作为标签。
焦点高亮 (emphasis)当鼠标悬停在散点上时,可以通过改变散点的颜色、大小等属性来实现焦点高亮效果。可以设置 emphasis: { itemStyle: { color: '#ff0000' } } 来在鼠标悬停时改变散点的颜色。

2.仪表盘

关键词名称描述举例
不规则刻度仪表盘的刻度可以根据需要设置为不规则分布,以突出特定区间。设置 axisLabel 的 formatter 函数,根据值动态调整标签的显示,如 formatter: function (value, index) { return value > 50 ? value * 2 : value; }
进度条动态渐变色仪表盘的进度条可以根据当前值动态改变颜色,以体现数据的变化趋势。使用 splitLine 或 splitArea 配置项,设置不同区间的颜色或渐变色。
指针效果仪表盘的指针可以定制样式和动态效果,如颜色、形状和动画。设置 axisLine 的 lineStyle 属性来自定义指针的颜色、粗细等。
提示框自定义鼠标悬停时显示的提示框可以自定义内容、样式和位置。使用 series.tooltip 配置项,自定义 formatter 函数和样式属性,如 backgroundColorborderColor 等。
动画效果仪表盘在初始化或数据更新时可以有动态加载的动画效果。设置 animationDurationanimationEasing 等属性来控制动画的持续时间和缓动函数。
交互事件为仪表盘添加点击、鼠标悬停等交互事件,实现更丰富的交互功能。使用 ECharts 的事件监听机制,如 myChart.on('click', function (params) { /* 处理点击事件 */ })

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

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

相关文章

利用 Scapy 库编写 ARP 缓存中毒攻击脚本

一、ARP 协议基础 参考下篇文章学习 二、ARP 缓存中毒原理 ARP&#xff08;Address Resolution Protocol&#xff09;缓存中毒是一种网络攻击&#xff0c;它利用了ARP协议中的漏洞&#xff0c;通过欺骗或篡改网络中的ARP缓存来实施攻击。ARP协议是用于将IP地址映射到物理MAC…

JAVA的NIO和BIO底层原理分析

文章目录 一、操作系统底层IO原理1. 简介2. 操作系统进行IO的流程 二、BIO底层原理1. 什么是Socket2. JDK原生编程的BIO 三、Java原生编程的NIO1. 简介2. NIO和BIO的主要区别3. Reactor模式4. NIO的三大核心组件5. NIO核心源码分析 一、操作系统底层IO原理 1. 简介 IO&#x…

产品经理的自我修养

点击下载《产品经理的自我修养》 1. 前言 在产品领域取得成功的关键在于持续的激情。只有保持热情不减,我们才能克服各种困难,打造出卓越的产品。 如果你真心渴望追求产品之路,我强烈建议你立即行动起来,亲自参与实际的产品创作。无论是建立一个网站、创建一个社群,还是…

黑苹果安装,黑苹果小白详细教程

前言&#xff08;废话&#xff09;本人电脑小白&#xff0c;看了网上很多的教程&#xff0c;整合用了20个小时&#xff0c;反正看的太多了&#xff0c;反而不知道咋弄了&#xff0c;最后看不下去了&#xff0c;就试了一下&#xff0c;结果稀里糊涂的成功了&#xff0c;我也不知…

农村分散式生活污水分质处理及循环利用技术指南

标准已完成意见征集&#xff1a; 本文件给出了农村分散式生活污水分质处理及循环利用的总则、污水收集、污水分质处理、资源化利用、利用模式、运维管理等的指导。 本文件适用于农村分散式生活污水分质处理及循环利用的设施新建、扩建和改建工程的设计、施工与运维。 注:本文件…

【Redis教程0x08】详解Redis过期删除策略内存淘汰策略

引言 Redis的过期删除策略和内存淘汰策略是经常被问道的问题&#xff0c;这两个机制都是做删除操作&#xff0c;但是触发的条件和使用的策略是不同的。今天就来深入理解一下这两个策略。 过期删除策略 Redis 是可以对 key 设置过期时间的&#xff0c;因此需要有相应的机制将…

Aigtek:功率放大器的定义、指标参数及性能特点

功率放大器是一种电子器件或电路&#xff0c;用于将输入信号的功率放大到更高的功率级别。它在各种应用中起到关键的作用&#xff0c;例如音频放大器、射频放大器、激光放大器等。下面西安安泰将介绍功率放大器的定义、指标参数以及其性能特点。 功率放大器的定义&#xff1a; …

自动发卡平台源码优化版配套免签个人支付宝微信插件

这款免签个人支付宝微信插件&#xff0c;配套的是 自动发卡平台源码优化版&#xff0c;支持个人免签支付 其他系统的不支持&#xff01;

政安晨:专栏目录【TensorFlow与Keras实战演绎机器学习】

政安晨的个人主页&#xff1a;政安晨 欢迎 &#x1f44d;点赞✍评论⭐收藏 收录专栏: TensorFlow与Keras实战演绎机器学习 希望政安晨的博客能够对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff01; 本篇是作者政安晨的专栏《TensorFlow与Keras…

33.HarmonyOS App(JAVA)鸿蒙系统app数据库增删改查

33.HarmonyOS App(JAVA)鸿蒙系统app数据库增删改查 关系数据库 关系对象数据库&#xff08;ORM&#xff09; 应用偏好数据库 分布式数据库 关系型数据库&#xff08;Relational Database&#xff0c;RDB&#xff09;是一种基于关系模型来管理数据的数据库。HarmonyOS关系型…

光明源@智慧公厕的建设要求是什么

作为城市公共卫生设施的重要组成部分&#xff0c;智慧公厕的建设要求愈发受到重视。它们不仅是城市形象的窗口&#xff0c;更是为民众提供便捷、舒适的卫生服务的重要载体。那么&#xff0c;究竟什么样的要求才能确保智慧公厕的高效建设呢&#xff1f;今日&#xff0c;让我们一…

基于Java仓库管理系统设计与实现(源码+部署文档+论文)

博主介绍&#xff1a; ✌至今服务客户已经1000、专注于Java技术领域、项目定制、技术答疑、开发工具、毕业项目实战 ✌ &#x1f345; 文末获取源码联系 &#x1f345; &#x1f447;&#x1f3fb; 精彩专栏 推荐订阅 &#x1f447;&#x1f3fb; 不然下次找不到 Java项目精品实…