echarts条形图动态显示

news2024/12/25 23:47:32

1、实现效果
每次展示5个,轮流展示
在这里插入图片描述
2、实现思路
使用datazoom,一次展示5项数据,轮流展示每2s刷新一次。
条形图有两个柱子,一个蓝色柱子,一个灰色柱子,两个柱子重合,且蓝柱子在上面。
为了使左侧的类目和柱子同步变化,左侧类目不写成y轴标签,而写成柱子的标签,即在series里写标签
3、代码
定义一个盒子

<div class="chartStyle" ref="chartImplement"></div>

配置函数

initChartArea() {
				var timer = null;
				var myChart = echarts.init(this.$refs.chartImplement);
				myChart.clear();
				var option;
				var valueData = [200, 330, 300, 280, 350, 290, 180, 200, 330, 300, 280, ];
				var fullData = [400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, ];
				var categoryData = ['永安镇', '大泗镇', '白马镇', '胡庄镇', 'XXX镇', '官庄镇', '侏儒山', '永安镇', '大泗镇', '白马镇', '胡庄镇', ];
				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: 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: 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: 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.
								},

							},
						},
					]
				};
				//使用刚指定的配置项和数据显示图表。
				timer = setInterval(function() {
					// 每次向后滚动一个,最后一个从头开始。
					if (option.dataZoom[0].endValue == valueData.length - 1) {
						option.dataZoom[0].endValue = 4;
						option.dataZoom[0].startValue = 0;
					} else {
						option.dataZoom[0].endValue = option.dataZoom[0].endValue + 1;
						option.dataZoom[0].startValue = option.dataZoom[0].startValue + 1;
					}
					myChart.setOption(option, true);
				}, 2000);
				myChart.clear();
				myChart.setOption(option, true);
				window.addEventListener("resize", function() {
					myChart.resize();
				});

			},

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

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

相关文章

【ubuntu重装系统后的软件配置_memo】

重装系统后系统环境恢复 备份安装系统常用的一些debvscode 更改sourcespip加速爬长城的家伙式儿安装ROS安装cmake安装git安装zsh顺便开个ssh提升幸福感的映射配置neovimplugins字体插件遇到的问题 锁键盘/鼠标小玩意儿 备份 实验时不起眼的图顺手写的脚本忘记从哪儿下载的资源…

华为云命令行工具服务KooCLI助力一键管理云资源

对于CLI即命令行工具&#xff0c;运维同学可能并不陌生&#xff0c;它摒弃了对图形化界面的需求&#xff0c;不再拘泥于可视化的页面切换、按钮点击等操作&#xff0c;反而为用户提供了一个便捷且高控制的解决方案&#xff0c;使用户在日常的运维工作中&#xff0c;用一行命令即…

【深度学习】目标检测的全面回顾

一、说明 随着自动驾驶汽车、智能视频监控、面部检测和各种人数统计应用的兴起&#xff0c;对快速准确的物体检测系统的需求也在不断增长。这些系统不仅涉及识别和分类图像中的每个对象&#xff0c;还涉及通过在图像周围绘制适当的边界框来定位每个对象。这使得对象检测比其传统…

凸包检测、直线检测、点集拟合、二维码检测

目录 1、凸包检测 2、直线检测 3、点集拟合 4、二维码检测 1、凸包检测 //凸包检测 int test1() {Mat img imread("F:/testMap/hand.png");if (img.empty()){cout << "请确认图像文件名称是否正确" << endl;return -1;}// 二值化Mat gray,…

Splashtop 亮相上安会,助力企业安全远程办公

2023年7月5-7日&#xff0c;2023第二届上海网络安全博览会暨高峰论坛在上海新国际博览中心举办。 本届上安会由上海市信息网络安全管理协会等单位主办&#xff0c;上海科学院、上海汽车集团等机构联合协办。大会围绕数字发展主题&#xff0c;多方位展示了网络安全行业的最新发…

SQL性能规范

一、随聊 记录一下吧&#xff0c;2023年7月13日00:11:11&#xff0c;现在的状态真的很&#xff0c;忙&#xff0c;干不完的活&#xff0c;希望巨大的压力&#xff0c;能够让自己快速成长&#xff0c;回想我这一路&#xff0c;21年大专毕业&#xff0c;用一年时间熟悉软件&…

JDK的安装与配置

所有的开发&#xff0c;第一步必然是准备环境&#xff0c;而JDK提供了一套完整的工具和环境&#xff0c;使开发人员能够编写、编译和运行Java应用程序。是Java开发的基础&#xff0c;为开发者提供了丰富的功能和工具&#xff0c;简化了Java应用程序开发的过程。所以这里就记录一…

C++教程——vector容器、deque容器、stack容器、queue容器、list容器、set容器、map容器

vector容器 基本概念 vector赋值操作 vector容量和大小 vector插入与删除 vector数据存取 vector互换容器 vector预留空间&#xff1a;减少开辟内存空间的次数 deque容器 deque构造函数 deque赋值方式 deque大小操作 deque插入和删除 deque数据存取 deque排序 stack容器 stack…

iOS开发 - 系统自带框架实现扫一扫功能

iOS 扫一扫 利用系统自带框架实现扫一扫功能 一 项目配置 扫一扫功能相机和相册权限&#xff0c;在info.plist中设置询问用户是否允许访问的权限。 info.plist加入NSCameraUsageDescription、NSPhotoLibraryUsageDescription、NSPhotoLibraryAddUsageDescription <key&g…

java.lang.UnsatisfiedLinkError: Could not load SWT library.

java.lang.UnsatisfiedLinkError: Could not load SWT library. https://download.eclipse.org/windowbuilder/lastgoodbuild

力扣206. 反转链表

题目 给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 链接&#xff1a;206. 反转链表 - 力扣&#xff08;LeetCode&#xff09; 题解 方法一&#xff1a;类似头插法 设置3个指针cur、next、newhead&#xff0c;其中cur和next指向当前链表头…

Kubernetes基础知识点

k8s可以看做是一个集群操作系统&#xff0c;能够对容器进行调度和编排。 Kubernetes中的基本对象 pod 是k8s中的最小单位&#xff0c;一个pod封装一个或者多个容器&#xff0c;存储资源。 deployment 是对pod的服务化封装&#xff0c;可以包含一个或多个pod statefulset 为…

ArcGIS处理nc数据步骤

降水温度蒸散发等气象数据通常以NC格式存储&#xff0c;可以用Matlab和ArcGIS读取数据。常为逐年逐月逐日数据。在用GIS进行数据分析时&#xff0c;需要将其转换为栅格数据。 &#xff08;1&#xff09;打开nc数据。打开GIS, ArcToolbox-Multidimension Tools-Make NetCDF Rast…

多线程高频知识点—2023

多线程高频知识点—2023 多线程的基本概念什么是线程/进程为什么在进程中还需要线程呢&#xff1f;同步与异步的区别程序计数器多线程的应用场景多线程的创建方式手写一个异步日志框架多线程线程安全问题 多线程的基本概念 什么是cpu CPU的中文名称是中央处理器&#xff0c;是…

【优选算法】—— 滑动窗口类问题

本期&#xff0c;我给大家带来的是关于滑动窗口类算法的介绍&#xff0c;并通过具体的题目帮助大家思考理解。 目录 &#xff08;一&#xff09;基本概念 &#xff08;二&#xff09;题目讲解 1、难度&#xff1a;medium 1️⃣长度最小的子数组 2️⃣找到字符串中所有字⺟…

Xcode 更新后 Version 14.3.1报错

File not found: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_iphonesimulator.a Xode版本和pod版本不一致导致&#xff0c;改成一致就可以了 放在podfile文件里,最后一个pod,和最后一个end中间 Showing Recent …

将字符串转换为字典json.loads(字符串)

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 将字符串转换为字典 json.loads(字符串) [太阳]选择题 关于以下代码说法错误的是? import json myStr{"name":"xiaobai","age":30} print(【显示】mySt…

【论文阅读】TransCAM: Transformer Attention-based CAM Refinement for WSSS

分享一篇阅读的用于弱监督分割的论文 论文标题&#xff1a; TransCAM: Transformer Attention-based CAM Refinement for Weakly Supervised Semantic Segmentation 作者信息&#xff1a; 代码地址&#xff1a; https://github.com/liruiwen/TransCAM Abstract 大多数现有…

java判断某个字符串是否在字符串数组中的方法(4种)

1.效率最高&#xff08;最原始&#xff09; 代码如下&#xff08;示例&#xff09;&#xff1a; public class Demo { public static boolean useLoop(String[] arr, String targetValue) { for (String s : arr) { if (s.equals(targetValue)) return true; } return false; }…

图像分类——模型微调

目录 微调热狗识别获取数据集模型构建与训练 微调 热狗识别 获取数据集 import tensorflow as tf import pathlibtraindirhotdog/train testdirhotdog/test image_gentf.keras.preprocessing.image.ImageDataGenerator(rescale1/255) train_data_genimage_gen.flow_from_direc…