echart中x轴数据过多时展示不全

news2024/11/29 11:47:12

项目中遇到需要展示一些柱状图,之前做相关功能时,横坐标x轴一直用的是时间,所以没有注意到这个问题。

如下图所示:

image-20210224121529003

当x轴显示的是”人名“这种类型的值的时候,这种显示情况就有问题了,这样就不会知道,没有显示的具体是谁。

解决这个问题主要有两种方法:

  1. 让所有的x轴的值显示出来。
  2. 鼠标悬停显示横坐标内容。

从网上查到了一些方法,这里做一下总结。

首先尝试第一种方法

1.让所有的x轴的值显示出来

让x轴值全部显示出来,一共有两种方式:

第一种方式:

​ 利用axisLabelaxisLabel主要用于坐标轴刻度标签的相关设置。

axisLabel有很多属性,常用的如下所示:

show:true, — 表示:是否显示刻度标签(默认值:true)

interval: ‘auto’, ---- 表示:采用标签不重叠的策略间隔显示标签。(默认值:auto)

​ 除此之外,interval还可以设置具体的值,若是设置为1,表示隔一个标签显示一个标签;若是设置为2,表示隔两个标签显示一个标签。

这里,为了将x轴标签全显示出来,给xAxis添加axisLabel元素,并将interval属性设置为0。如下所示:

image-20210224135326387

显示效果如下:

image-20210224135420231

x轴的所有数据都显示出来了,但是由于空间不够,造成了数据的重叠。这并不是我们想要的结果。

此时,想到axisLabel还有一个属性rotate,它用来控制刻度标签旋转的角度,在类目标签显示占不下的时候可以通过旋转防止标签之间的重叠。旋转角度从-90度到90度。

故,在上面的基础上,可以给文字加上一定程度的旋转。

image-20210224140121049

效果如下:

image-20210224140018266

可以看到,这样的话就会解决重叠的文字的问题,但是这样有一个弊端,就是当我的x轴数据在增多的时候,x轴的标签依旧会重叠。如下所示:

image-20210224140322514

所以,利用axisLabelinterval和rotate属性,解决本文类似问题的前提条件是:x轴的数据量是在某个范围之内,能够正常显示的。

第二种方式:

​ 此时考虑第二种方式,echart中包含一个组件dataZoom这个组件主要用于区域缩放

主要有以下几种类型的dataZoom组件,

dataZoomInside:内置于坐标系中,使用户可以在坐标系上鼠标拖拽、滑动来缩放或滚动坐标系。(这种方式看不到滑块)

dataZoomSlider:有单独的滑动条,用户在滑动条上进行缩放或滑动。

dataZoomSelect:提供一个选择框进行数据区域缩放,配置项在toolbox中。

dataZoom组件可同时存在多个,起到共同控制的左右。如果多个dataZoom组件共同控制同一个数轴,它们会自动联动。

为了更好的客户体验,inside和slider方式同时使用,在option里面加上dataZoom组件,代码如下:

image-20210224151757208

image-20210224152013701

显示如下:x轴标签数量少于25个的时候:

image-20210224152501735

当x轴标签数量大于25个的时候:

image-20210224152427744

这样能够很好的解决问题,拖拽窗口展示想要看到的区域。

2.鼠标悬停显示横坐标内容

原本的设置是鼠标悬停显示y轴的坐标值,现在可以设置鼠标悬停同时显示x轴和y轴的值。

这个使用了tooltip组件formatter属性

代码如下:

image-20210224153113555

显示如下:

image-20210224153548668

这样鼠标悬停时就会显示具体的信息,也是一种解决方法。

不过若是在x轴数据量很庞大的情况下,还是推荐使用dataZoom组件。

更多关于dataZoom组件的知识,请去官网https://echarts.apache.org/zh/option.html#dataZoom

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

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

相关文章

python学习笔记之例题篇NO.3

获得用户输入的一个整数N,输出N中所出现不同数字的和。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬ s list(set(list(input())))# ① r…

全局组件和局部组件

全局组件第一种定义方法:A、创建自己的组件:Loading.vueB、在main.js文件中引入组件并注册import Vue from vue import App from ./App.vue import * as filters from ./filterimport quanjuzujian from ./components/quanjuzujian.vueVue.component(qua…

carla0.9.13-UE4添加4轮车模型(Linux系统)

前期准备建模工具:blender:v3.4.1;可以在Ubuntu Software商店直接下载虚拟引擎:carla-UE4 (carla v0.9.13),无需额外安装UE4,carla中自带插件编译carla参照官方文档:https://carla.readthedocs.io/en/0.9.1…

mysql存储引擎、事务、索引

目录MySQL进阶存储引擎什么是存储引擎常用存储引擎事务什么是事务怎么理解提交事务 和回滚事务事务特性事务的隔离级别索引什么是索引索引的实现原理什么条件下,我们会考虑给字段添加索引呢?什么条件下,索引会失效?索引分类MySQL进阶 存储引…

Scala的变量声明

文章目录变量声明(一)简单说明(二)利用val声明变量1,声明方式2,案例演示(三)利用var声明变量1,声明方式2,案例演示(四)换行输入语句&a…

横道图时间标尺在P6软件中的设置

卷首语 由于其直观简洁且易于管理的特性,使其成为展示项目活动顺序及时间安排的最常用的进度管理工具。 甘特图 甘特图(Gantt Chart),又称为横道图或棒条图,是最早的项目进度管理工具之一。由于其直观简洁且易于管理…

从WEB到PWA 开发-发布-安装

见意如题!本文主要来说说PWA开发!作为一个前端程序员,在没有任何Android/IOS的开发情况下,想想我们有多少种方法来开发一个原生移动应用程序!我们可以有非原生、混合开发,PWA等等手段。类似uniapp&#xff…

LabVIEW应用程序(EXE)无法正确动态调用插件

LabVIEW应用程序(EXE)无法正确动态调用插件正在构建一个应用程序并使用插件架构,以便可以动态调用将来创建的VI(插件)。应用程序在LabVIEW开发环境中可以正常运行,但不能作为可执行程序运行。运行可执行文件…

STM32-CAN控制器介绍

STM32-CAN控制器介绍 对CAN接口部分重要知识点进行记录,更详细的需要查看参考手册 CAN协议介绍:https://blog.csdn.net/weixin_46251230/article/details/129147612 bxCAN简介 STM32的CAN接口叫做bxCAN,bxCAN是基本扩展CAN(Basic Extende…

第五次作业:修改redis的配置文件使得windows的图形界面客户端可以连接redis服务器

1. 安装 Redis 依赖 Redis 是基于 C语言编写的,因此首先需要安装 Redis 所需要的 gcc 依赖: yum install -y gcc tcl 2、上传安装文件 将下载好的 redis-6.2.7.tar.gz 安装包上传到虚拟机的任意目录(一般推荐上传到 /usr/local/src目录&am…

3.基于分割的文本检测算法--DBNet++

文章目录1.概况2.DBNet中的主要方法2.1 网络结构2.2 适应特征图融合模块(Adaptive Scale Fusion Module, ASF)3.ASF模块的源码实现参考资料欢迎访问个人网络日志🌹🌹知行空间🌹🌹 1.概况 2022年02月份论文:Real-Time S…

对比yolov4和yolov3

目录 1. 网络结构的不同 1.1 Backbone 1.1.1 Darknet53 1.1.2 CSPDarknet53 1.2 Neck 1.2.1 FPN 1.2.2 PAN 1.2.3 SPP 1.3 Head 2. ​​​​​数据增强​​​​​ 2.1 CutMix 2.2 Mosaic 3. 激活函数 4. 损失函数 5. 正则化方法 知识点 记录备忘。 总体而言&…

云计算|OpenStack|使用VMware安装华为云的R006版CNA和VRM

前言: FusionCompute架构 (CNA、VRM) CNA(ComputingNode Agent):计算节点代理VNA虚拟节点代理,部署在CNA上,实施计算、存储、网络的虚拟化的配置管理。VRM(Virtual Resource Manager):虚拟资源管理器 VNA可以省略不安装 本次实验使用的是V…

关于客户背景调查的两个案例,说下我的真实看法

这篇文章我只是想客观陈述下事实,并没有对他人的贬低与对自己的吹捧之意。只是想通过这样两件小事,传递出来一个观点:在外贸业务开发过程中,很多时候正是那些我们内心抗拒,不愿意沉下心去做的事,才给了我们…

关于vue3生命周期的使用、了解以及用途(详细版)

生命周期目录前言组合式写法没有 beforeCreate / created 生命周期,并且组合式写生命周期用哪个先引哪个beforeCreatecreatedbeforeMount/onBeforeMountmounted/onMountedbeforeUpdate/onBeforeUpdateupdated/onUpdatedbeforeUnmount/onBeforeUnmountunmounted/onUn…

数据库及缓存之MySQL(一)

思维导图 常见知识点 1.mysql存储引擎: 2.innodb与myisam区别: 3.表设计字段选择: 4.mysql的varchar(M)最多存储数据: 5.事务基本特性: 6.事务并发引发问题: 7.mysql索引: 8.三星索引&#xf…

常见的分类算法及分类算法的评估方法

文章目录贝叶斯分类法(Bayes)决策树(Decision Tree)支持向量机(SVM)K近邻(K-NN)逻辑回归(Logistics Regression)线性回归和逻辑回归的区别神经网络&#xff0…

JavaWeb12-线程通讯(线程等待和唤醒)

目录 1.方法介绍 1.1.wait()/wait(long timeout):让当前线程进入等待状态。 1.1.1.wait执行流程 1.1.2.wait结束等待的条件 1.1.3.wait() VS wait(long timeout) 1.1.4.为什么wait要放在Object中? --->PS:wait(0) 和 sleep(0) 的区…

算法训练营 day52 动态规划 买卖股票的最佳时机系列1

算法训练营 day52 动态规划 买卖股票的最佳时机系列1 买卖股票的最佳时机 121. 买卖股票的最佳时机 - 力扣(LeetCode) 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票…

VR全景多种玩法打破传统宣传,打造全新云端视界

传统的展示方式只是在进行单方面的表达,不论是图片、视频,都无法让浏览者有参与感,这样的展示宣传效果自然比不上VR全景展示,VR全景基于真实场景来形成三维图像,其沉浸式和无视野盲区的特点让用户更有真实感和沉浸感&a…