学习使用echats因xAxis值过多,可以滚动的柱状图解决方案

学习使用echats因xAxis值过多,可以滚动的柱状图解决方案

    • 效果图
    • 柱状图代码
    • 关键代码

效果图

在这里插入图片描述

柱状图代码

function echarts() {
        // 基于准备好的dom,初始化echarts实例
        var myChart = echarts.init(document.getElementById('echart4'));

        let xaxisData = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30'];
        let option = {
            tooltip: {
                trigger: 'axis',
                axisPointer: {
                    lineStyle: {
                        color: '#57617B'
                    }
                }
            },
            "legend": {

                "data": [
                    {"name": "2023年"},
                    {"name": "2024年"},
                    {"name": "完成率"}
                ],
                "top": "0%",
                "textStyle": {
                    "color": "rgba(255,255,255,0.9)"//图例文字
                }
            },
            "label": {
                "show": true, //开启显示
                "position": 'top', //在右侧显示:right,
                "textStyle": {
                    "color": "rgba(255,255,255,0.9)"//图例文字
                }
            },
            "xAxis": [
                {
                    "type": "category",

                    //data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
                    data: xaxisData,
                    axisLine: {lineStyle: {color: "rgba(255,255,255,.1)"}},
                    axisLabel: {
                        textStyle: {color: "rgba(255,255,255,.6)", fontSize: '14',},
                    },

                },
            ],
            "yAxis": [
                {
                    "type": "value",
                    "name": "金额",
                    "min": 0,
                    "max": 10000,
                    "interval": 100,
                    "show": false,
                    "axisLabel": {
                        "show": false,//控制是否显示:true,false
                    },
                    axisLine: {lineStyle: {color: 'rgba(255,255,255,.4)'}},//左线色

                },
                {
                    "type": "value",
                    "name": "完成率",
                    "show": true,
                    "axisLabel": {
                        "show": true,//控制显示

                    },
                    axisLine: {lineStyle: {color: 'rgba(255,255,255,.4)'}},//右线色
                    splitLine: {show: true, lineStyle: {color: "#001e94"}},//x轴线
                },
            ],

            "grid": {
                "top": "10%",
                "right": "30",
                "bottom": "30",
                "left": "2%",
            },
            dataZoom: [

                {

                    xAxisIndex: 0, //这里是从X轴的0刻度开始

                    show: false, //是否显示滑动条,不影响使用

                    type: "inside", // 这个 dataZoom 组件是 inside 型 dataZoom 组件

                    startValue: 0, // 从头开始。

                    endValue: 12, // 一次性展示4个。

                },

            ],

            "series": [
                {
                    "name": "2023年",
                    "type": "bar",
                    // "data": [123437323, 123578456, 412345636, 912345676, 295532188, 645232535, 434534523, 666673453, 335665340, 334345326, 442323428, 124553222],
                    "data": [111, 222, 333, 444, 555, 666, 777, 888, 999, 1010, 1111, 1212, 1313, 1414, 1515, 1616, 1717, 1818, 1919, 2020, 2121, 2222, 2323, 2424, 2525, 2626, 2727, 2828, 2929, 3030],
                    "barWidth": "auto",
                    label: {
                        show: true, // 是否显示标签
                        position: 'top', // 标签位置,可选值为:top、bottom、center、inside(柱状图内部)、outside(柱状图外部)
                        textStyle: {
                            color: '#FF00FF', // 标签字体颜色
                            fontSize: 14, // 标签字体大小
                            fontWeight: 'bold', // 标签字体加粗
                            fontStyle: 'italic', // 标签字体斜体
                            fontFamily: 'Arial' // 标签字体
                        }
                    },
                    "itemStyle": {
                        "normal": {
                            "color": {
                                "type": "linear",
                                "x": 0,
                                "y": 0,
                                "x2": 0,
                                "y2": 1,
                                "colorStops": [
                                    {
                                        "offset": 0,
                                        "color": "#609db8"
                                    },

                                    {
                                        "offset": 1,
                                        "color": "#609db8"
                                    }
                                ],
                                "globalCoord": false
                            }
                        }
                    }
                },
                {
                    "name": "2024年",
                    "type": "bar",
                    "data": [
                        //  423332331, 789142442, 334354524, 135534536, 247448338, 845533436, 444545222, 209876532, 313226542, 665367567, 246854533, 156554458
                        11, 22, 33, 44, 55, 66, 77, 88, 99, 110, 111, 121, 133, 141, 155, 166, 171, 188, 199, 202, 212, 222, 233, 242, 252, 262, 277, 288, 299, 300
                    ],
                    "barWidth": "auto",

                    "itemStyle": {
                        "normal": {
                            "color": {
                                "type": "linear",
                                "x": 0,
                                "y": 0,
                                "x2": 0,
                                "y2": 1,
                                "colorStops": [
                                    {
                                        "offset": 0,
                                        "color": "#66b8a7"
                                    },
                                    {
                                        "offset": 1,
                                        "color": "#66b8a7"
                                    }
                                ],
                                "globalCoord": false
                            }
                        }
                    },
                    "barGap": "0"
                },
                {
                    "name": "完成率",
                    "type": "line",
                    "yAxisIndex": 1,

                    "data": [
                        //  100, 50, 80, 30, 90, 40, 70, 33, 100, 40, 80, 20
                        1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30
                    ],
                    lineStyle: {
                        normal: {
                            width: 2
                        },
                    },
                    "itemStyle": {
                        "normal": {
                            "color": "#cdba00",

                        }
                    },
                    "smooth": true
                }
            ]
        };


        // 使用刚指定的配置项和数据显示图表。

        /*        myChart.setOption(option);
                window.addEventListener("resize", function () {
                    myChart.resize();
                });*/

        console.log('111option.dataZoom===', option.dataZoom);
        console.log('111option.dataZoom[0].endValue===', option.dataZoom[0].endValue);
        console.log('111xaxisData.length===', xaxisData.length);


        timeInterval = setInterval(() => {

            console.log('222option.dataZoom===', option.dataZoom);
            console.log('222option.dataZoom[0].endValue===', option.dataZoom[0].endValue);
            console.log('222xaxisData.length===', xaxisData.length);

            if (option.dataZoom[0].endValue == xaxisData.length) {

                option.dataZoom[0].endValue = 5;

                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);

        }, 2000);

    }

关键代码

setInterval定时器来实现的自右向左的滚动;

 timeInterval = setInterval(() => {

            console.log('222option.dataZoom===', option.dataZoom);
            console.log('222option.dataZoom[0].endValue===', option.dataZoom[0].endValue);
            console.log('222xaxisData.length===', xaxisData.length);

            if (option.dataZoom[0].endValue == xaxisData.length) {

                option.dataZoom[0].endValue = 5;

                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);

        }, 2000);
dataZoom: [

                {

                    xAxisIndex: 0, //这里是从X轴的0刻度开始

                    show: false, //是否显示滑动条,不影响使用

                    type: "inside", // 这个 dataZoom 组件是 inside 型 dataZoom 组件

                    startValue: 0, // 从头开始。

                    endValue: 12, // 一次性展示4个。

                },

            ],

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

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

相关文章

数据库 06-01 事务

01.定义 02.性质 03.简单事务模型 例子:

数据采集工具如何使用呢?那么设置数据采集的方法又是什么呢?

数据采集工具将能够非常有效地解决面临的各种问题。这款工具被设计成一种自动化数据采集工具,特别适用于对日志文件数据的采集。一旦完成设置,该工具将在后台实时进行数据采集,并自动对收集到的数据进行清洗,以确保最终保存到的数…

zIO: Accelerating IO-Intensive Applications with Transparent Zero-Copy IO——论文泛读

OSDI 2022 Paper 论文阅读笔记整理 问题 零拷贝IO一直是一个长期的性能目标。复制会引入内存和CPU开销,限制IO密集型应用程序的性能。IO数据复制在IO堆栈内、通过其应用程序编程接口(API)和应用程序内执行。现有工作的重点是开发零拷贝IO A…

紫光展锐P7885核心板详细参数介绍_5G安卓智能模块开发方案

紫光展锐P7885核心板采用了先进的6nm EUV制程工艺,集成了高性能的应用处理器和金融级安全解决方案,为用户带来了全新的性能体验。 P7885核心板搭载了先进的6nm制程工艺SoC P7885,其中包含四核A76和四核A55,主频可达2.7Ghz&#xf…

MySQL-linux安装-万能RPM法

一、MySQL的Linux版安装 1、 CentOS7下检查MySQL依赖 1. 检查/tmp临时目录权限(必不可少) 由于mysql安装过程中,会通过mysql用户在/tmp目录下新建tmp_db文件,所以请给/tmp较大的权限。执行 : chmod -R 777 /tmp2. …

spring boot3登录开发-3(2短信验证登录/注册逻辑实现)

⛰️个人主页: 蒾酒 🔥系列专栏:《spring boot实战》 🌊山高路远,行路漫漫,终有归途 目录 写在前面 上文衔接 内容简介 功能分析 短信验证登录实现 1.创建交互对象 用户短信登录/注册DTO 创建用户登录VO…

Linux利用Jenkins部署SpringBoot项目保姆级教程

在当今快速发展的软件开发领域,持续集成和持续部署(CI/CD)已经成为提升开发效率、缩短产品上市时间的关键实践。Linux系统以其稳定性和开源友好性,成为众多开发者和企业的首选平台。而Spring Boot,作为一个轻量级的Jav…

【论文笔记】Text2QR

论文:Text2QR: Harmonizing Aesthetic Customization and Scanning Robustness for Text-Guided QR Code Generation Abstract 二维码通常包含很多信息但看起来并不美观。stable diffusion的出现让平衡扫描鲁棒性和美观变为可能。 为了保证美观二维码的稳定生成&a…

STM32FATFS(未完待续)

注意,本博客适合像我一样的小白,会的不多,但是想快速做些东西,不适合会写驱动的大佬。另外,示例代码中的注释有误(从多个项目中移植过来的,未做更改),请不要被误导&#…

ICLR 2024 | 鸡生蛋蛋生鸡?再论生成数据能否帮助模型训练

ChatGPT狂飙160天,世界已经不是之前的样子。 新建了人工智能中文站https://ai.weoknow.com 每天给大家更新可用的国内可用chatGPT资源 发布在https://it.weoknow.com 更多资源欢迎关注 随着生成模型(如 ChatGPT、扩散模型)飞速发展&#x…

【详细讲解语言模型的原理、实战与评估】

🌈个人主页:程序员不想敲代码啊🌈 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家🏆 👍点赞⭐评论⭐收藏 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提…

《2023网络安全行业薪资发展趋势报告》.pdf

《2023网络安全行业薪资发展趋势报告》.pdf 前段时间看到了一份网络安全的最新数据,反映了2023年截至目前的网络安全行业,以及网络安全人才的发展情况。 前段时间忙着赶项目一直没时间,今天终于有空和你唠嗑了。 很多网工小白对安全的向往…

基于DCT(离散余弦变换)的图像水印算法,Matlab实现

博主简介: 专注、专一于Matlab图像处理学习、交流,matlab图像代码代做/项目合作可以联系(QQ:3249726188) 个人主页:Matlab_ImagePro-CSDN博客 原则:代码均由本人编写完成,非中介,提供…

vue+elementUI搭建动态表头的表格

前提:以下代码是vue2项目结合elementUi完成的 数据结构 后端传来的数据是两个list,一个表头的list,一个表格内容的list // 表头 headTableAtts: [{ columnLabel: 姓名, columnName: name },{ columnLabel: 年龄, columnName: age },{ colu…

【Linux】防火墙iptables详解

目录 一、防护墙概述 二、防火墙 2.1名词 2.2使用规则 2.3表与链 2.3.1简介 2.3.2每个表说明 1)filter表 2)nat表 2.4环境的配置 2.5iptables的命令参数 2.6 配置filter表规则 2.6.1备份与恢复 2.6.2案例1:禁止访问22端口 2.6.3案例2&…

GT收发器第六篇_GT channel内部时钟关系

文章目录 一、TX端时钟二、RX端时钟 一、TX端时钟 TX端可分为4个区域,分别为FPGA TX接口、PCS靠FPGA侧、PCS靠PMA侧、PMA,如下图。GTX/GTH发射器包括TXBUFFER和TX相位校准电路,以解决时钟域之间的相位差。TX相位校准电路用于TXBUFFER被旁路时…

element-ui badge 组件源码分享

今日简单分享 badge 组件的源码实现,主要从以下两个方面: 1、badge 组件页面结构 2、badge 组件属性 一、badge 组件页面结构 二、badge 组件属性 补充几个标签的用途: sub:下标、sup:上标、var 变量 代码如下&am…

AIGC之gradio系列学习教程(二)Components

简述: 让我们继续了解一下 Gradio 的一些主要功能。本指南旨在对构建演示时应注意的各种事项进行高级概述。 Components Gradio 包含 30 多个预构建组件(以及许多用户构建的自定义组件),只需一行代码即可在演示中用作输入或输出。这些组件对应于机器学习和数据科学中的常…

C++初学者:如何优雅地写程序

我喜欢C语言的功能强大,简洁,我也喜欢C#的语法简单,清晰,写起来又方便好用。 一、为什么不用C语言写程序。 C语言用来做题目,考试研究是很方便的,但是用来写程序做软件,你就会发现&#xff0c…

解决Centos7无法连接网络和访问网页连接不上问题

一、网络无法连接问题 网络无法连接的问题我查到了一个很良心的操作,不用重装,因为可能是你虚拟机设置上的问题。我先写我的解决方案,再附上其他几种解决方案。 问题一: 虚拟机的问题****加粗样式 解决: (…