【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 配置项的图解:
在这里插入图片描述
在这里插入图片描述
感觉和 uchartsitemCount 意思差不多,都表示一开始图表中 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-7
            height: 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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

redis集群 服务器更换ip,怎么办,怎么更换redis集群的ip

redis集群 服务器更换ip&#xff0c;怎么办&#xff0c;怎么更换redis集群的ip 1、安装redis三主三从集群2、正常状态的redis集群3、更改redis集群服务器的ip 重启服务器 集群会down4、更改redis集群服务器的ip 重启服务器 集群down的原因5、更改redis集群服务器的ip后&#xf…

计算机网络知识点全梳理(一.TCP/IP网络模型)

目录 TCP/IP网络模型概述 应用层 什么是应用层 应用层功能 应用层协议 传输层 什么是传输层 传输层功能 传输层协议 网络层 什么是网络层 网络层功能 网络层协议 数据链路层 什么是数据链路层 数据链路层功能 物理层 物理层的概念和功能 写在前面 本系列文…

【Python爬虫实战】深入解析 Scrapy 管道:数据清洗、验证与存储的实战指南

&#x1f308;个人主页&#xff1a;易辰君-CSDN博客 &#x1f525; 系列专栏&#xff1a;https://blog.csdn.net/2401_86688088/category_12797772.html ​ 目录 前言 一、了解 Scrapy Shell 二、配置文件 settings.py &#xff08;一&#xff09;为什么需要配置文件 &…

PHPstudy中的数据库启动不了

法一 netstat -ano |findstr "3306" 查看占用该端口的进程号 taskkill /f /pid 6720 杀死进程 法二 sc delete mysql

Hu矩原理 | cv2中基于Hu矩计算图像轮廓相似度差异的函数cv2.matchShapes【小白记笔记】

Hu 矩&#xff08;Hu Moments&#xff09; 是一种用于描述轮廓形状的 不变特征。它基于图像的矩提取&#xff0c;经过数学变换得到 7 个不变矩&#xff0c;这些不变矩在图像 平移、旋转和缩放等几何变换下保持不变&#xff0c;适合用来衡量轮廓或形状的相似度差异。 1、图像矩…

Ilya Sutskever发表了对AI未来发展的颠覆性看法

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

网络层IP协议(TCP)

IP协议&#xff1a; 在了解IP协议之前&#xff0c;我们市面上看到的"路由器"其实就是工作在网络层。如下图&#xff1a; 那么网络层中的IP协议究竟是如何发送数据包的呢&#xff1f; IP报头&#xff1a; IP协议的报头是比较复杂的&#xff0c;作为程序猿只需要我们重…

【MySQL】InnoDB引擎中的Compact行格式

目录 1、背景2、数据示例3、Compact解释【1】组成【2】头部信息【3】隐藏列【4】数据列 4、总结 1、背景 mysql中数据存储是存储引擎干的事&#xff0c;InnoDB存储引擎以页为单位存储数据&#xff0c;每个页的大小为16KB&#xff0c;平时我们操作数据库都是以行为单位进行增删…

Visual Studio 玩转 IntelliCode AI辅助开发

&#x1f380;&#x1f380;&#x1f380;【AI辅助编程系列】&#x1f380;&#x1f380;&#x1f380; Visual Studio 使用 GitHub Copilot 与 IntelliCode 辅助编码Visual Studio 安装和管理 GitHub CopilotVisual Studio 使用 GitHub Copilot 扩展Visual Studio 使用 GitHu…

【LDAP】LDAP概念和原理介绍

目录 一、前言 二、什么是LDAP&#xff1f; 2.1 什么是目录服务&#xff1f; 2.2 LDAP的介绍 2.3 为什么要使用LDAP 三、LDAP的主要产品线 四、LDAP的基本模型 4.1 目录树概念 4.2 LDAP常用关键字列表 4.3 objectClass介绍 五、JXplorer工具使用 一、前言 对于许多的…

用ue5打开网址链接

需要用到 Launch URL 这个函数 字面意思就是打开填写的链接网页 这里填写的是百度&#xff0c;按下Tab键后就会打开百度的网页

在ESP32使用AT指令集与服务器进行TCP/IP通信时,<link ID> 解释

在ESP32使用AT指令集与服务器进行TCP/IP通信时&#xff0c;<link ID> 是一个非常重要的参数。它用于标识不同的连接实例&#xff0c;特别是在多连接场景下&#xff08;如同时建立多个TCP或UDP连接&#xff09;。每个连接都有唯一的<link ID>&#xff0c;通过这个ID…

前后端跨域问题(CROS)

前端 在src中创建util文件&#xff0c;写request.js文件&#xff1a; request.js代码如下&#xff1a; import axios from axios import { ElMessage } from element-plus;const request axios.create({// baseURL: /api, // 注意&#xff01;&#xff01; 这里是全局统一加…

学习笔记071——Java中的【线程】

文章目录 1、基础2、进程和线程3、什么是多线程4、Java 中线程的使用5、Java 中创建线程的方式5.1、继承 Thread 类5.2、实现 Runnable 接口5.3、继承 Thread 和实现 Runnable 接口的区别5.4、实现 Runnable 接口的优化 6、线程的状态7、线程调度7.1、线程休眠7.2、线程合并7.3…

devops-部署Harbor实现私有Docker镜像仓库

文章目录 概述下载配置安装安装后生成的文件使用和维护Harbor参考资料 概述 Harbor是一个开源注册中心&#xff0c;它使用策略和基于角色的访问控制来保护工件&#xff0c;确保镜像被扫描并且没有漏洞&#xff0c;并将镜像签名为可信的。Harbor是CNCF的一个毕业项目&#xff0…

快速上手Neo4j图关系数据库

参考视频&#xff1a; 【IT老齐589】快速上手Neo4j网状关系图库 1 Neo4j简介 Neo4j是一个图数据库&#xff0c;是知识图谱的基础 在Neo4j中&#xff0c;数据的基本构建块包括&#xff1a; 节点(Nodes)关系(Relationships)属性(Properties)标签(Labels) 1.1 节点(Nodes) 节点…

Polkadot 11 月生态月报:3900万交易量、69%增长率,技术与社区齐头并进

原文&#xff1a;https://x.com/Polkadot/status/1865118662069490074 编译&#xff1a;OneBlock 上个月对 Polkadot 生态来说可谓是跌宕起伏&#xff0c;从创下交易记录到开创性合作&#xff0c;Polkadot 热度不断。展现出强大的技术实力和蓬勃发展的社区活力。在回顾本月亮点…

基坑表面位移沉降倾斜自动化监测 非接触式一体化解决机器视觉

基于变焦视觉位移监测仪的基坑自动化监测新方案是一种集成了光学、机械、电子、边缘计算、AI识别以及云平台软件等技术的自动化系统。该方案利用变焦机器视觉原理&#xff0c;结合特殊波段成像识别技术和无源靶标&#xff0c;实现了非接触式大空间、多断面、多测点的高精度水平…

CSS学习-第三天

css链接 链接样式&#xff0c;可以使用任何css属性 特别的样式&#xff0c;可以有不同的样式 a:link - 正常&#xff0c;未访问过的链接 a:visited - 用户已访问过的链接 a:hover - 当用户鼠标放在链接上时 a:active - 链接被点击的那一刻 a:hover必须跟在a:link和a:visited后…

电脑显示器选购指南2024

选择显示器是五花八门的显示参数&#xff0c;如何选择&#xff0c;以下给出参数说明&#xff0c;及部分参考&#xff1a; 1. 尺寸和分辨率 尺寸&#xff08;英寸&#xff09; 根据使用距离和用途选择合适的屏幕尺寸&#xff1a; 21-24 英寸&#xff1a;适合小桌面空间、日常…