Vue实现柱状图横向自动滚动

news2024/11/24 12:12:01

Vue实现柱状图横向自动滚动

  • 1. 前言
  • 2. 代码
  • 3、实现效果图

1. 前言

原理:通过定时器修改Echarts的配置(options)达到我们想要的效果。

此外,我们还需要了解Echarts中dataZoom这个组件,这个组件用于:用于区域缩放,从而能自由关注细节的数据信息,或者概览数据整体,或者去除离群点的影响。简单来说就是,在数据量多的时候,既能保持Echarts美观度,也能让用户自由查看所有数据。
dataZoom组件中有三种类型,在本次需求中,使用的是内置型数据区域缩放组件(dataZoomInside)

2. 代码

<script>
export default {
	data() {
	    return {
	      time: ['06-27', '06-28', '06-29', '06-30', '07-01', '07-02', '07-03', '07-04', '07-05', '07-06', '07-07', '07-08', '07-09', '07-10', '07-11', '07-12', '07-13', '07-14', '07-15', '07-16', '07-17', '07-18', '07-19', '07-20', '07-21', '07-22', '07-23', '07-24', '07-25', '07-26'],
	      income:  [383251.478, 0, 0, 0, 0, 0, 0, 270.992, 42.411, 30.737, 0, 0, 0, 371.994, 218.245, 0, 73.898, 86.697, 0, 108.093, 0, 270.528, 0, 0, 0, 0, 0, 271.527, 0, 0],
	    };
    },
	mounted() {
	    // 初始化
	    this.drawIncomeEcharts();
	},
	methods: {
		drawIncomeEcharts () {
	      let that = this
	      var chartDom = document.getElementById('income-echarts')
	      var myChart = echarts.init(chartDom)
	
	      var option
	      option = {
	        xAxis: {
	          type: 'category',
	          axisTick: {
	            show: false
	          },
	          data: that.time,
	
	          axisLabel: {
	            textStyle: {
	              color: '#fff',//坐标值得具体的颜色
	            }
	          },
	          splitLine: {
	            show: false     //去掉网格线
	          },
	          axisLine: {
	            lineStyle: {
	              type: 'solid',
	              color: '#fff', //左边线的颜色                        
	              width: '1' //坐标线的宽度                    
	            }
	          },
	        },
	        yAxis: {
	          name: '收益(元)',
	
	          type: 'value',
	          axisTick: {
	            show: false
	          },
	          splitLine: {
	            // show: false,
	            lineStyle: {
	              type: 'dashed' //设置网格线类型 dotted:虚线 solid:实线
	            },
	          },
	          axisLabel: {
	            textStyle: {
	              color: '#fff',//坐标值得具体的颜色
	            }
	          },
	          axisLine: {
	            lineStyle: {
	              type: 'solid',
	              color: '#fff', //左边线的颜色                        
	              width: '1' //坐标线的宽度                    
	            }
	          },
	        },
	        tooltip: {
	          trigger: 'axis',
	        },
	        dataZoom: [
	          {
	            xAxisIndex: 0, 	//这里是从X轴的0刻度开始
	            show: false, 	//是否显示滑动条,本次需求中,设置为false
	            type: "inside", // 类型:内置型数据区域缩放组件
	            startValue: 0, 	// 从头开始。
	            endValue: 6, 	// 一次性展示几个。
	          },
	        ],
	
	        grid: {
	          left: '4%',
	          top: '15%',
	          right: '4%',
	          bottom: '5%',
	          containLabel: true
	        },
	        series: [
	          {
	            name: '收益(元)',
	            type: 'bar',
	            barWidth: "30%", // 柱子宽度核心代码
	            data: that.income,
	            itemStyle: {
	              color: '#1A9EFF'
	            }
	          }
	        ]
	      }
	
	      setInterval(function () {
	        // 每次向左滑动一个,最后一个从头开始。
	        if (option.dataZoom[0].endValue == income.length) {
	          option.dataZoom[0].startValue = 0
	          option.dataZoom[0].endValue = 6
	        } else {
	          option.dataZoom[0].endValue = option.dataZoom[0].endValue + 1
	          option.dataZoom[0].startValue = option.dataZoom[0].startValue + 1
	        }
	        myChart.setOption(option)
	      }, 2000)
	
	      option && myChart.setOption(option)
	      window.addEventListener('resize', () => {
	        myChart.resize()
	      })
	
	    },
	}
}

</script>

3、实现效果图

在这里插入图片描述

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

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

相关文章

几张图教你电商入门:如何做数据分析

电商API和电商数据分析是相辅相成的&#xff0c;它们一起为电商平台的发展和运营提供了重要支持。 电商API&#xff08;Application Programming Interface&#xff09;提供了丰富的功能和数据接口&#xff0c;使得开发者能够在电商平台上进行二次开发和定制化操作。比如&…

C++多线程编程(第二章 多线程通信和同步)

1、多线程状态 1.1线程状态说明 初始化&#xff08;Init&#xff09;:该线程正在被创建&#xff1b; 就绪&#xff08;Ready&#xff09;:该线程在就绪列表中&#xff0c;等待CPU调度&#xff1b; 运行&#xff08;Running&#xff09;:该线程正在运行&#xff1b; 阻塞&…

idea下tomcat运行乱码问题解决方法

idea虚拟机选项添加-Dfile.encodingUTF-8

yaml-cpp YAML格式处理库的介绍和使用(面向业务编程-文件格式处理)

YAML格式介绍 YAML的格式介绍&#xff0c;有关ini、json和xml或许很多人已经很了解了&#xff0c;但是关于YAML&#xff0c;还有许多人不了解。YAML被设计成更适合人类阅读&#xff08;我想正因为如此&#xff0c;所以相对来说更灵活&#xff0c;就导致到使用的时候很多人会觉…

PostMan+Jmeter+QTP工具介绍及安装

目录 一、PostMan介绍​编辑 二、下载安装 三、Postman与Jmeter的区别 一、开发语言区别&#xff1a; 二、使用范围区别&#xff1a; 三、使用区别&#xff1a; 四、Jmeter安装 附一个详细的Jmeter按照新手使用教程&#xff0c;感谢作者&#xff0c;亲测有效。 五、Jme…

python_day14_综合案例

文件内容 导包配置 import jsonfrom pyspark import SparkContext, SparkConf import osos.environ["PYSPARK_PYTHON"] "D:/dev/python/python3.10.4/python.exe" os.environ["HADOOP_HOME"] "D:/dev/hadoop-3.0.0" conf SparkC…

Megatron-LM、NVIDIA NeMo、model_optim_rng.pt 文件是什么?

本文涉及以下几个概念&#xff0c;分别是&#xff1a; Megatron和Megatron-LM-v1.1.5-3D_parallelism NVIDIA NeMo Megatron和Megatron-LM-v1.1.5-3D_parallelism是什么&#xff1f; Megatron是由NVIDIA开发的一种用于训练大规模语言模型的开源框架。它旨在提供高效的分布式…

鸿蒙4.0重大官宣!六大功能呼之欲出!

鸿蒙系统是当年华为为应对美国封杀而开发的操作系统,当时只是权宜之计&#xff0c;但没想到它的发展壮大远远超出了人们的预期,2021年其用户就突破了1亿,去年7月搭载鸿蒙系统的设备超过了3亿。近日,华为官宣将在今年8月4号的开发者大会上发布全新的鸿蒙4.0系统,系统包含多项让人…

THM-被动侦察和主动侦察

被动与主动侦察# 在计算机系统和网络出现之前&#xff0c;孙子兵法在孙子兵法中教导说&#xff1a;“知己知彼&#xff0c;必胜不疑。” 如果您扮演攻击者的角色&#xff0c;则需要收集有关目标系统的信息。如果你扮演防御者的角色&#xff0c;你需要知道你的对手会发现你的系…

加利福尼亚大学|3D-LLM:将3D世界于大规模语言模型结合

来自加利福尼亚大学的3D-LLM项目团队提到&#xff1a;大型语言模型 (LLM) 和视觉语言模型 (VLM) 已被证明在多项任务上表现出色&#xff0c;例如常识推理。尽管这些模型非常强大&#xff0c;但它们并不以 3D 物理世界为基础&#xff0c;而 3D 物理世界涉及更丰富的概念&#xf…

视频监控管理平台EasyCVR录像的3种方式

视频监控综合管理平台EasyCVR可以实现海量资源的接入、汇聚、计算、存储、处理等&#xff0c;平台具备轻量化接入能力&#xff0c;可支持多协议方式接入&#xff0c;包括主流标准协议GB28181、RTSP/Onvif、RTMP等&#xff0c;以及厂家私有协议与SDK接入&#xff0c;包括海康Eho…

深入理解 python 虚拟机:字节码灵魂——Code obejct

Code Object 数据结构 typedef struct {PyObject_HEADint co_argcount; /* #arguments, except *args */int co_kwonlyargcount; /* #keyword only arguments */int co_nlocals; /* #local variables */int co_stacksize; /* #entries needed for evaluation stack */int co_f…

Flutter 异步编程指南作

1 Dart 中的事件循环模型 在 App 开发中&#xff0c;经常会遇到处理异步任务的场景&#xff0c;如网络请求、读写文件等。Android、iOS 使用的是多线程&#xff0c;而在 Flutter 中为单线程事件循环&#xff0c;如下图所示 Dart 中有两个任务队列&#xff0c;分别为 microtask…

Windows 11的最新人工智能应用Windows Copilot面世!

Windows Copilot是Windows 11预览版中的一项AI辅助功能。 Windows 11还包括设置应用程序的更改&#xff0c;更广泛的支持压缩文件格式。 上个月&#xff0c;微软宣布将继续其将ChatGPT应用于所有产品的冒险之旅&#xff0c;推出了名为Copilot的新Windows 11功能。几个月前&…

难评的Worldcoin,正在登月中

7月24日&#xff0c;前段时间搅混加密舆论界一汪春水的Worldcoin正式上线代币WLD。 由Openai创始人Sam Altman牵头的Worldcoin项目在其试点之初就备受关注&#xff0c;而该种关注在其融资近一亿美金后更是空前&#xff0c;币种上架的呼声不断。 但当代币真的狼来了时&#xff0…

使用CRM分析数据有哪些功能?

CRM数据分析软件可以帮助企业增强竞争力&#xff0c;并更好地了解客户需求及市场变化&#xff0c;助力企业数据分析&#xff0c;并提供实时更新的数据和分析结果&#xff0c;CRM数据分析软件的主要特点是什么&#xff1f;包括以下6个特点。 CRM数据分析软件的主要功能通常包括…

四、约束-2.演示

【案例】 根据需求&#xff0c;完成表结构的创建 创建一个user表&#xff1a; create table user(id int primary key auto_increment comment 主键,name varchar(10) not null unique comment 姓名,age int check ( age > 0 && age < 120 ) comment 年龄,statu…

《嵌入式系统工程师》精讲视频-希赛网--视频笔记

只看我不熟的内容 P8 04流水线 理论公式必须熟悉 P29 01OSI&#xff0f;RM 1年大概考4分&#xff0c;主要考察前3个知识点 应用层--与用户打交道&#xff1b;表示层--压缩、加密等&#xff1b;会话层--建立、终止会话&#xff1b; 传输层--建立端到端连接&#xff1b;网络层--路…

vue-cli-service requires Node ^12.0.0 || >= 14.0.0

运行npm run serve 时&#xff0c;报错如下&#xff1a; 系统&#xff1a;win7 node版本&#xff1a;13.14.0 解决方法&#xff1a; 根据路径&#xff08;node_modules/vue/cli-service/package.json&#xff09;找到package.json文件&#xff0c;并将engines的node属性值改为…

关于Ubuntu 18.04 LTS环境下运行程序出现的问题

关于Ubuntu 18.04 LTS环境下运行程序出现的问题 1.运行程序时出现以下情况 2.检查版本 strings /lib/x86_64-linux-gnu/libc.so.6 |grep GLIBC_​ 发现Ubuntu18.04下的glibc版本最高为2.27,而现程序所使用的是glibc2.34,所以没办法运行, 3.解决办法 安装glibc2.34库, …