【echarts】数据过多时可以左右滑动查看(可鼠标可滚动条)
1. 鼠标左右拖动
在和 series 同级的地方配置 dataZoom:
dataZoom: [{type: 'inside', // inside 鼠标左右拖图表,滚轮缩放; slider 使用滑动条start: 0, // 左边的滑块位置,表示从 0 开始显示end: 60, // 右边的滑块位置,表示只显示3个点(33.333% 表示总长度的 30%)// 滑动条可选配置---------------------// handleSize: '80%', // 滑块的大小// 自定义滑块样式可选配置 --------------// handleStyle: {// color: '#a27df6',// shadowBlur: 2,// shadowColor: '#666',// shadowOffsetX: 1,// shadowOffsetY: 2,// },},],
关于 end 配置项的图解:


感觉和 ucharts 的 itemCount 意思差不多,都表示一开始图表中 x 轴展示多少数据;
上面图表的完整代码如下:
import React, { useEffect, useRef, useState } from 'react';
import * as echarts from 'echarts';
import 'echarts/lib/chart/bar';
import 'echarts/lib/component/tooltip';
import 'echarts/lib/component/title';
import './index.css';const LineEchartsImage = (props) => {const chartRef = useRef<HTMLDivElement>(null);const { totalList } = props;// console.log('totalList',totalList.detailsPlanCountVOList);// const [projectTotal, setProjectTotal] = useState(0);useEffect(() => {let xArr: string[] = [];let yArr: string[] = [];// // let total: number = 0;if (Array.isArray(totalList)) {totalList.forEach((item: { zlgcType: string; classifiedCount: string }) => {xArr.push(item.zlgcType);yArr.push(item.classifiedCount);// total = item.projectTotal;});}// setProjectTotal(total);const mainElement = chartRef.current;if (mainElement) {// 初始化 echarts 实例const myChart = echarts.init(mainElement);// 绘制图表myChart.setOption({title: {// text: '示例标题'subtext: '影像数量',},tooltip: {// 移入显示虚线trigger: 'axis',},xAxis: {type: 'category',data: xArr,axisLabel: {interval: 0,rotate: 15,},},yAxis: {// minInterval: 1,type: 'value',},series: [{name: '影像数量',data: yArr,barWidth: '30',type: 'bar',itemStyle: {color: '#1C5DA8',},},],dataZoom: [{type: 'inside', // inside拖图表 slider使用滑动条start: 0, // 左边的滑块位置,表示从0开始显示end: 50, // 右边的滑块位置,表示只显示3个点(33.33333333333333%表示总长度的30%)// handleSize: '80%', // 滑块的大小// handleStyle: {// // 自定义滑块样式// color: '#a27df6',// shadowBlur: 2,// shadowColor: '#666',// shadowOffsetX: 1,// shadowOffsetY: 2,// },},],});window.addEventListener('resize', function () {myChart.resize();});// 清理函数return () => {myChart.dispose();};}}, [totalList]);return (<div className="box"><div className="box-title"><div className="left"><span>亮点影像统计</span></div>{/* <div className="right">总数:<span>{projectTotal}</span></div> */}</div><div ref={chartRef} style={{ width: 800, height: 370 }}></div></div>);
};export default LineEchartsImage;
2.滚动条拖动+自定义样式

如图,是在图表下方显示的可拖动的滚动条,可以左右横向拉动,这里更改了滚动条的自定义样式:
dataZoom: [{type: 'slider', // 滑动条单独显示show: true, // 是否显示滑动条startValue: 0, // 展示区域内容的起始数值endValue: 7, // 展示区域内容的结束数值 当前展示x坐标下标为0-7height: 6, // 滑动条组件高度bottom: 0, // 距离图表区域下边的距离borderRadius: 5,showDetail: false, // 拖拽时是否显示详情showDataShadow: false,fillerColor: '#00000033', // 平移条的填充颜色borderColor: 'transparent', // 边框颜色zoomLock: true, // 锁定视图brushSelect: false, // 不可缩放 滑动条默认是有手柄可以进行展示的内容区域缩放的,不太美观// 通过该属性可以只滑动,不显示缩放功能handleStyle: {opacity: 0,},lineStyle: {opacity: 0,},textStyle: {fontSize: 0,},},],
自定义滚动条样式代码参考:https://segmentfault.com/q/1010000042980785/a-1020000042998285
相关文章:
【echarts】数据过多时可以左右滑动查看(可鼠标可滚动条)
1. 鼠标左右拖动 在和 series 同级的地方配置 dataZoom: dataZoom: [{type: inside, // inside 鼠标左右拖图表,滚轮缩放; slider 使用滑动条start: 0, // 左边的滑块位置,表示从 0 开始显示end: 60, // 右边的滑块位置…...
Python 实现对人的行为预测
引言 随着人工智能技术的快速发展,行为预测在多个领域如智能安防、自动驾驶、个性化推荐系统等中扮演着越来越重要的角色。通过分析历史数据并结合先进的机器学习算法,我们可以预测个体或群体的行为模式,从而做出更加智能和高效的决策。本文…...
使用枚举实现单例模式,不会反序列化破坏攻击,不会被反射破坏攻击。(附带枚举单例的简单实现)
原因分析 1.反序列化方法 ① jdk8中的Enum源码中对反序列化方法进行重写,抛出异常。 java.lang.Enum#readObject方法截图如下 ②java.io.ObjectInputStream#readObject 方法中的 readEnum 方法处理了枚举类型的反序列化,从而确保了枚举的单例特性。 …...
scala隐式转换
概念: 在Scala编程语言中,隐式转换是一种强大的功能,它允许程序在需要时自动转换数据类型或增强对象功能。这种转换通常是通过定义一个标记为implicit的函数来实现的,这个函数能够将一种类型转换为另一种类型。隐式转换的使用可以…...
Spring Boot 应用 “Connection is closed” 及 MySQL 空闲超时断开连接解决方案
在使用 Spring Boot MySQL HikariCP 的组合时,可能会在生产或测试环境中遭遇类似如下异常信息: org.springframework.jdbc.UncategorizedSQLException: PreparedStatementCallback; uncategorized SQLException for SQL [SELECT ...]; SQL state [nu…...
SLF4J框架原理及其实现方案
slf4j 是一个日志规范框架;基本上所有的 JAVA 日志都要实现这个规范;比如:Logback、log4j、log4j2;本文档记载如何实现 slf4j 规范;实现自己的日志框架; slf4j 分为两个部分,其中包含 …...
代码随想录-算法训练营-番外(图论01:图论理论基础,所有可到达的路径)
day01 图论part01 今日任务:图论理论基础/所有可到达的路径 代码随想录图论视频部分还没更新 https://programmercarl.com/kamacoder/图论理论基础.html#图的基本概念 day01 所有可达路径 邻接矩阵 import java.util.Scanner;import java.util.List;import java.util.ArrayL…...
【JAVA】Java项目实战—Java EE项目:企业资源规划(ERP)系统
在企业管理中,企业资源规划(ERP)系统是不可或缺的工具。它能够帮助企业高效管理各种资源,包括人力资源、财务资源和库存等。Java作为一种成熟的编程语言,因其跨平台特性、强大的生态系统以及良好的社区支持,…...
springboot配置过滤器解决html资源路径和接口路径冲突问题
比如: html文件使用 / 接口路径使用 /api 首先配置文件里肯定配置范围最大的根路径 server:port: 80servlet:context-path: / 过滤器代码 Slf4j public class RequestSeparationFilter implements Filter {Overridepublic void init(FilterConfig filterConfi…...
在IDE中使用Git
我们在开发的时候肯定是经常使用IDE进行开发的,所以在IDE中使用Git也是非常常用的,接下来以IDEA为例,其他的VS code ,Pycharm等IDE都是一样的。 在IDEA中配置Git 1.打开IDEA 2.点击setting 3.直接搜索git 如果已经安装了会自…...
【AIGC进阶-ChatGPT提示词副业解析】反向心理学在沟通中的运用:激将法的艺术
引言 在日常沟通和管理中,直接的表达方式并不总能达到预期效果。反向心理学,特别是其中的激将法,作为一种独特的沟通技巧,往往能在看似消极的表达中激发出积极的反应。本文将深入探讨反向心理学中激将法的运用技巧、实施策略及其…...
JeecgBoot passwordChange 任意用户密码重置漏洞复现
0x01 产品简介 Jeecg Boot是一个企业级低代码开发平台,基于前后端分离的架构,融合了SpringBoot、SpringCloud、Ant Design、Vue、Mybatis-plus、Shiro、JWT等多种主流技术,旨在帮助企业快速构建各种应用系统,提高开发效率,降低开发成本。采用最新主流的前后分离框架,使得…...
【智体OS】官方上新发布智体机器人:使用rtrobot智体应用远程控制平衡车机器人
【智体OS】官方上新发布智体机器人:使用rtrobot智体应用远程控制平衡车机器人 dtns.network是一款主要由JavaScript编写的智体世界引擎(内嵌了three.js编辑器的定制版-支持以第一视角浏览3D场馆),可以在浏览器和node.js、deno、e…...
Blazor(.razor)+VUE+elementUI适合一起用吗
在实际项目中,将 Blazor(.razor) 与 Vue.js 和 ElementUI 一起使用是可以实现的,但是否适合取决于你的项目需求、开发团队的技术栈和具体场景。以下是对这种组合的详细分析: 一、适合一起使用的场景 1.1 逐步引入 Bla…...
SpringBoot左脚进门之Maven管理家
一、概念 Maven 是一个项目管理和整合工具。通过对 目录结构和构建生命周期 的标准化, 使开发团队用极少的时间就能够自动完成工程的基础构建配置。 Maven 简化了工程的构建过程,并对其标准化,提高了重用性。 Maven 本地仓库 (Local Reposi…...
188-下翻便携式6U CPCI工控机箱
一、板卡概述 下翻式CPCI便携工控机,系统采用6u cpci背板结构,1个系统槽,7个扩展槽, 满足对携带的需求,可装标准6U8槽CPCI主板,8个扩展槽, 满足客户对空间扩展的需求.可宽温服务的工作产品,15高亮度液晶显示屏,超薄88键笔记本键盘,触摸式鼠标,加固型机箱结构,使它能够适应各种复…...
Ubuntu 挂载目录
1. 临时挂载(重启后失效) 创建挂载点: $ sudo mkdir -p /work临时挂载磁盘到 work 目录: $ sudo mount /dev/nvme0n1p1 /work验证挂载是否成功: $ df -h /work此方法挂载在系统重启后会失效,需手动重新挂载…...
基于IEEE 802.1Qci的时间敏感网络(TSN)主干架构安全分析及异常检测系统设计
中文标题:基于IEEE 802.1Qci的时间敏感网络(TSN)主干架构安全分析及异常检测系统设计 英文标题:Security Analysis of the TSN Backbone Architecture and Anomaly Detection System Design Based on IEEE 802.1Qci 作者信息&…...
2024年食堂采购系统源码技术趋势:如何开发智能的供应链管理APP
本篇文章,小编将与大家一同探讨2024年食堂采购系统的技术趋势,并提供开发更智能的供应链管理APP的策略。 一、2024年食堂采购系统的技术趋势 1.人工智能与机器学习的深度应用 在2024年,AI和机器学习在食堂采购系统中的应用将更加普遍。这些…...
zotero安装教程(包括茉莉花插件)
zotero安装教程(包括茉莉花插件) zotero下载(windows)1-安装 Zotero2-安装 Zotero Connector3-安装浏览器插件--jasminum茉莉花功能:插件下载地址:[https://github.com/search?qjasminum&typerepositories](https://github.c…...
【OSG学习笔记】Day 18: 碰撞检测与物理交互
物理引擎(Physics Engine) 物理引擎 是一种通过计算机模拟物理规律(如力学、碰撞、重力、流体动力学等)的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互,广泛应用于 游戏开发、动画制作、虚…...
如何在看板中体现优先级变化
在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...
Go 语言接口详解
Go 语言接口详解 核心概念 接口定义 在 Go 语言中,接口是一种抽象类型,它定义了一组方法的集合: // 定义接口 type Shape interface {Area() float64Perimeter() float64 } 接口实现 Go 接口的实现是隐式的: // 矩形结构体…...
Module Federation 和 Native Federation 的比较
前言 Module Federation 是 Webpack 5 引入的微前端架构方案,允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...
Rust 异步编程
Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...
12.找到字符串中所有字母异位词
🧠 题目解析 题目描述: 给定两个字符串 s 和 p,找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义: 若两个字符串包含的字符种类和出现次数完全相同,顺序无所谓,则互为…...
浅谈不同二分算法的查找情况
二分算法原理比较简单,但是实际的算法模板却有很多,这一切都源于二分查找问题中的复杂情况和二分算法的边界处理,以下是博主对一些二分算法查找的情况分析。 需要说明的是,以下二分算法都是基于有序序列为升序有序的情况…...
Java面试专项一-准备篇
一、企业简历筛选规则 一般企业的简历筛选流程:首先由HR先筛选一部分简历后,在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如:Boss直聘(招聘方平台) 直接按照条件进行筛选 例如:…...
力扣-35.搜索插入位置
题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...
算法笔记2
1.字符串拼接最好用StringBuilder,不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...
