echarts条形图动态显示2

news2024/11/23 13:46:33

1、实现效果,条形图自动滚动,鼠标移入停止滚动,移出继续滚动
在这里插入图片描述
2、代码
声明的变量:图表,图表数据与定时器

myChartArea: '',
dataArea: {
  categoryData: [],
  valueData: [],
  fullData: [],
}timeOut: null,

设置基础数据,并调用函数

this.dataArea.categoryData = ['永安镇', '大泗镇', '白马镇', '胡庄镇', 'XXX镇', '官庄镇', '侏儒山', '永安镇', '大泗镇', '白马镇', '胡庄镇', ];
this.dataArea.valueData = [200, 330, 300, 280, 350, 290, 180, 200, 330, 300, 280, ];
this.dataArea.fullData = [400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, ];
this.initChartArea();

相关函数:配置图表函数,自动播放函数,停止播放函数,继续播放函数

initChartArea() {
				this.myChartArea = echarts.init(this.$refs.chartImplement);
				this.myChartArea.clear();
				var that = this;
				var categoryData = this.dataArea.categoryData;
				var valueData = this.dataArea.valueData;
				this.option = {
					tooltip: {
						show: false,
					},
					grid: {
						top: '0%',
						left: '1%',
						right: '0%',
						bottom: '0%',
						containLabel: true
					},
					xAxis: {
						type: 'value',
						boundaryGap: [0, 0.01],
						splitLine: {
							show: false,
						},
						axisLabel: {
							show: false,
							color: 'transparent',
						},
					},
					yAxis: {
						type: 'category',
						data: this.dataArea.categoryData,
						axisLabel: {
							show: true,
							color: 'transparent',
						},
						axisLine: {
							show: false,
						},
						axisTick: {
							show: false,
						}
					},
					// 自动滚动
					dataZoom: [ //滑动条
						{
							show: false, //是否显示滑动条
							yAxisIndex: 0,
							type: 'slider', // 这个 dataZoom 组件是 slider 型 dataZoom 组件
							startValue: 0, // 从头开始。
							endValue: 4 // 一次性展示5个。
						}
					],
					series: [{
							name: '亩数',
							type: 'bar',
							barWidth: 8,
							data: this.dataArea.valueData,
							label: { //图形上的文本标签
								show: true,
								position: 'left', //标签的位置
								offset: [0, 0], //标签文字的偏移,此处表示向上偏移40
								formatter: function(data) {
									return data.name;
								},
								textStyle: {
									fontSize: 12,
									color: '#FFFFFF',
								},
							},
							itemStyle: {
								normal: {
									color: new echarts.graphic.LinearGradient(0, 0, 1, 0, [ // color在这里
										{
											offset: 0.1,
											color: '#0A374A'
										},
										{
											offset: 0.5,
											color: '#24A3D8'
										},
										{
											offset: 1,
											color: '#A4E4FF'
										}
									]),
									barBorderRadius: 4, //柱条圆角半径,单位px.

								}
							},
							zlevel: 1 //柱状图所有图形的 zlevel 值,
						},
						{
							name: '背景色',
							type: 'bar',
							barWidth: 8,
							barGap: '-100%',
							data: this.dataArea.fullData,
							label: { //图形上的文本标签
								show: true,
								position: 'right', //标签的位置
								offset: [0, 0], //标签文字的偏移,此处表示向上偏移40
								formatter: function(data) {
									var traceValue;

									for (var i = 0; i < categoryData.length; i++) {
										if (data.name === categoryData[i]) {
											traceValue = valueData[i]
											break
										}
									}
									var arr = [
										'{a|' + traceValue + '}',
										'{b|亩}'
									]
									return arr.join('');
								},
								textStyle: {
									rich: {
										a: {
											fontSize: 12,
											color: '#FFFFFF',
											padding: [0, 0, 0, 10],
										},
										b: {
											fontSize: 12,
											color: '#FFFFFF',
											padding: [0, 0, 0, 5],
										},
									}
								},
							},
							itemStyle: {
								normal: {
									color: 'rgb(60, 83, 110,0.35)',
									barBorderRadius: 4, //柱条圆角半径,单位px.
								},

							},
						},
					]
				};
				this.myChartArea.setOption(this.option)
				this.myChartArea.on('mouseover', this.stop)
				this.myChartArea.on('mouseout', this.goMove)
				this.autoMove()
				window.addEventListener("resize", () => {
					this.myChartArea.resize();
				});

			},
			//自动滚动
			autoMove() {
				this.timeOut = setInterval(() => {
					if (Number(this.option.dataZoom[0].endValue) === this.dataArea.valueData.length - 1) {
						this.option.dataZoom[0].endValue = 4;
						this.option.dataZoom[0].startValue = 0;
					} else {
						this.option.dataZoom[0].endValue = this.option.dataZoom[0].endValue + 1;
						this.option.dataZoom[0].startValue = this.option.dataZoom[0].startValue + 1;
					}
					this.myChartArea.setOption(this.option)
				}, 3000);
			},
			//停止滚动
			stop() {
				clearInterval(this.timeOut)
			},
			//继续滚动
			goMove() {
				this.autoMove()
			},

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

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

相关文章

【无公网IP端口映射】远程访问本地jupyter notebook服务

文章目录 前言1. Python环境安装2. Jupyter 安装3. 启动Jupyter Notebook4. 远程访问4.1 安装配置cpolar内网穿透4.2 创建隧道映射本地端口 5. 固定公网地址 前言 Jupyter Notebook&#xff0c;它是一个交互式的数据科学和计算环境&#xff0c;支持多种编程语言&#xff0c;如…

Devchat让代码爽飞

Devchat让代码爽飞 安装python3安装vscode中安装devchat插件使用参考资料 devchat是一个免费的vscode插件&#xff0c;可以在vsocde中提示代码。 安装 devcha依赖于python3&#xff0c;首先需要再电脑中安装python3.然后在vscode中安装插件&#xff0c;然后利用python安装dev…

canal探索及应用

认识canal 译意为水道/管道/沟渠&#xff0c;主要用途是基于 MySQL 数据库增量日志解析&#xff0c;提供增量数据订阅和消费 早期阿里巴巴因为杭州和美国双机房部署&#xff0c;存在跨机房同步的业务需求&#xff0c;实现方式主要是基于业务 trigger 获取增量变更。从 2010 年…

冷门研究冒险家同济陈涵晟:让科技帮助未来人类拓展艺术边界

原来他们是这样走过来的&#xff01; 【AI红人荟】——这里是TechBeat人工智能社区为优秀的AI工作者开设的人物专访栏目。从膜拜“红人”到成为“红人”&#xff0c;TechBeat与你一起&#xff0c;在AI进阶之路上&#xff0c;升级打怪、完美通关~ 本篇人物&#xff0c;是来自同…

消息中间件RabbitMQ详解

一、 消息中间件 简介 消息中间件利用高效可靠的消息传递机制进行平台无关的数据交流&#xff0c;并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型&#xff0c;它可以在分布式环境下扩展进程间的通信。 使用环境 消息中间件适用于需要可靠的数据传送…

超细整理,接口自动化测试-DDT参数化驱动实战,一招打通...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 ddt说明 一般进行…

MySQL数据库——索引练习

一、练习题目 1、建立一个utf8编码的数据库test1 2、建立商品表goods和栏目表category&#xff08;要求&#xff1a;按如下表结构创建表&#xff0c;并且存储引擎engine myisam 字符集charset utf8&#xff09; 3、删除 goods 表中的 goods_desc 字段及货号字段,并增加 click…

JMeter中如何实现接口之间的关联?

关联是Jmeter工具中非常重要的一个技术。因为在测试过程过有些数据是经常发生变化的&#xff0c;要获取并使用这些数据&#xff0c;就要使用关联。 比如&#xff1a;用户登录后&#xff0c;session信息都不同&#xff0c;有些操作要使用session&#xff0c;就需要将这个动态的…

【国产复旦微FMQL45教程】-Procise应用流程

本教程采用 FMQL7045 FPGA开发板来完成整个试验&#xff0c;板卡照片如下&#xff1a; 具有丰富的接口资源&#xff0c;系统框图如下&#xff1a; 本教程用于完成基于Vivado的FMQL45的LED实验&#xff0c;目标是能够将这款开发板PL端先跑起来。 2 Procise工程建立 &#xff0…

AI绘画在线生成!推荐这个国产Midjourney平替

AI技术越来越成熟&#xff0c;不仅能生成文本&#xff0c;还能绘画。AI绘画软件层出不穷&#xff0c;很多人接触的是Midjourney。我之前也用过Midjourney&#xff0c;确实在作品精确度、图像细节等方面很出色。但用Midjourney需要有良好的网络&#xff0c;而且必须得是会员。 因…

Mysql常用存储引擎------MyISAM存储引擎

文章目录 一、MyISAM存储引擎1、1加锁与并发2、1修复3、1索引特性3、4 延迟更新索引键3、5 MyISAM 压缩表3、6 MyISAM 性能 二、MySQL 存储引擎 MyISAM 与 InnoDB 如何选择&#xff1f;一、InnoDB支持事务&#xff0c;MyISAM不支持&#xff0c;这一点是非常重要。事务是一种高级…

【嵌入式Qt开发入门】Qt如何网络编程——建立TCP通信服务端(附项目代码)

TCP 简介 TCP 协议&#xff08;Transmission Control Protocol&#xff09;全称是传输控制协议是一种面向连接的、可靠的、 基于字节流的传输层通信协议。 TCP 通信必须先建立 TCP 连接&#xff0c;通信端分为客户端和服务端。服务端通过监听某个端口来监听是否有客户端连接到来…

7.kafka+ELK连接

文章目录 kafkaELK连接部署Kafkakafka操作命令kafka架构深入FilebeatKafkaELK连接 kafkaELK连接 部署Kafka ###关闭防火墙systemctl stop firewalld systemctl disable firewalldsetenforce 0vim /etc/selinux/configSELINUXdisabled###下载安装包官方下载地址&#xff1a;ht…

python散记

"""字符串格式化的两种方法"""name"sans" age18 math_score90.56 english_score88.8print(f"这个学生的名字叫{name},年龄{age},数学分数是{math_score},总分是{math_scoreenglish_score}") print("这个学生的名字叫%s…

APP开发的未来:虚拟现实和增强现实的角色

移动应用程序越来越多地在我们的日常生活中发挥着重要作用。但是&#xff0c;随着技术的不断发展&#xff0c;未来的 APP开发会有什么新的发展方向呢&#xff1f;这是每个人都在关心的问题。在过去的几年中&#xff0c;移动应用程序领域发生了巨大变化。像 VR/AR这样的技术为人…

第63讲:Python编程案例之猴子吃桃

文章目录 1.需求描述以及分析2.递推方式实该该程序3.递归方式实现该程序 1.需求描述以及分析 需求描述&#xff1a; 猴子第一天摘了若干个桃子&#xff0c;第一天吃了若干个桃子中的一半&#xff0c;觉得不过瘾&#xff0c;又多吃了一个。 第二天早上又将第一天剩下的桃子吃…

Spring 项目创建和使用2 (Bean对象的存取)

目录 一、创建 Bean 对象 二、将Bean对象存储到 Spring容器中 三、创建 Spring 上下文&#xff08;得到一个Spring容器&#xff09; 1. 通过在启动类中 ApplicationContext 获取一个 Spring容器 2. 通过在启动类种使用 BeanFactory 的方式来得到 Spring 对象 &#xff08;此…

MAYA粒子目标goalV和goalU详细应用

一下就填充到点 一个一个点填充 nParticleShape1.goalV0.5; nParticleShape1.goalU0.5; 粒子向中心移动 V方向使用渐变 删除U方向表达式 也使用渐变 使用圆角 nParticleShape1.goalUrand(0,1); nParticleShape1.goalUnParticleShape1.goalU0.02; nParticleShape1.goalUnPartic…

Excel-公式VLOOKUP 使用方法-小记

个人愚见 表示 MongoDB列中的任意一条数据 在 MySQL列 精确查找 和MongoDB列 中一模一样的数据&#xff0c;有的话返回MongoDB列数据&#xff0c;没有话返回#N/A 官方解释

redis 三种缓存更新策略

今天聊聊redis 三种缓存更新策略分别是&#xff1a; Cache Aside&#xff08;旁路缓存&#xff09;策略&#xff1b; Read/Write Through&#xff08;读穿 / 写穿&#xff09;策略&#xff1b; Write Back&#xff08;写回&#xff09;策略&#xff1b; 其中 Cache Aside策略…