ECharts X 轴标签过长导致文字重叠的 4 种解决方案

echarts-可视化地图防重叠文本框 echarts 文本重叠 可视化地图 3D地图 阅读详情
AI摘要

本文提供了4种解决ECharts X轴标签过长导致文字重叠的方案:1) 标签倾斜摆放;2) 限制每行字数换行显示;3) 垂直竖显文字;4) 隔行显示。此外,推荐使用卡拉云快速生成图表,无需前端开发。

echart

本文完整版:《ECharts X 轴标签过长导致文字重叠的 4 种解决方案》

Echarts 是国内图表组件占有率最高的第三方库,在使用中我们经常遇到 X 轴标签文字过长导致显示不全或 X 轴标签刻度间隔不够的问题。本文详细讲解 4 种标签超长显示问题的解决方案,轻松解决所有场景下的超长问题。

另外,这个世界已经悄然发生变化,现在根本无需写任何前端代码,直接使用卡拉云 —— 新一代低代码开发工具帮你搭建后台工具,卡拉云可一键接入常见数据库及 API ,无需懂前端,内置完善的各类前端组件,无需调试,拖拽即用。原来三天的工作量,现在 1 小时搞定,谁用谁知道,用上早下班,详见本文文末。

我们开始吧。

方法一:Echarts X 轴 标签倾斜摆放

echarts-45

我个人比较喜欢 45 度倾斜显示,兼顾美观的前提下解决 echarts X 轴标签文字过多导致的显示不全。

myChart.setOption({
  title: { text: '卡拉云 - 销售团队情况汇总' },
  tooltip: {},
  xAxis: {
    data: [
      '蒋铁柱团队',
      '谢国庆团队',
      '卡拉云小火箭',
      '木棉花团队',
      '橘子可乐团队',
      '太阳花团队',
      '蒸汽火车团队',
      '金元宝团队'
    ],
    name: '团队名', // X 坐标轴名称
    nameLocation: 'end', // 名称显示在 X 坐标轴的位置
    axisLabel: {
      //  X 坐标轴标签相关设置
      interval: 0,
      rotate: '45'
    }
  },
  yAxis: {},
  series: [
    {
      name: '数量',
      type: 'bar',
      data: [67, 93, 45, 23, 77, 85, 55, 17]
    }
  ]
});

  • rotate 调整 X 轴标签倾斜角度,一般倾斜 45 度就能完美解决 X 轴标签超长显示问题
  • interval 间隔显示。0 为显示所有 X 轴标签,1 为空一个显示一个等

扩展阅读:《12 款最棒 Vue 开源 UI 库测评 - 特别针对国内使用场景推荐》

方法二:Echarts X 轴 限制每行字数,换行显示

echarts-transverse

「换行显示标签」适合按字数断句的场景,X 轴每个标签都是前 N 个字一断是一个完整的词时,特别适合这种场景实用。

myChart.setOption({
  title: { text: '卡拉云 - 销售团队情况汇总' },
  tooltip: {},
  xAxis: {
    data: [
      '蒋铁柱团队',
      '谢国庆团队',
      '卡拉云小火箭',
      '木棉花团队',
      '橘子可乐团队',
      '太阳花团队',
      '蒸汽火车团队',
      '金元宝团队'
    ],
    name: '团队名', // X 坐标轴名称
    nameLocation: 'end', // 名称显示在 X 坐标轴的位置

    axisLabel: {
      formatter: function (params) {
        var newParamsName = ''; // 拼接后的新字符串
        var paramsNameNumber = params.length; // 实际标签数
        var provideNumber = 3; // 每行显示的字数
        var rowNumber = Math.ceil(paramsNameNumber / provideNumber); // 如需换回,算出要显示的行数

        if (paramsNameNumber > provideNumber) {
          /** 循环每一行,p表示行 */

          for (var i = 0; i < rowNumber; i++) {
            var tempStr = ''; // 每次截取的字符串
            var start = i * provideNumber; // 截取位置开始
            var end = start + provideNumber; // 截取位置结束

            // 最后一行的需要单独处理

            if (i == rowNumber - 1) {
              tempStr = params.substring(start, paramsNameNumber);
            } else {
              tempStr = params.substring(start, end) + '\n';
            }
            newParamsName += tempStr;
          }
        } else {
          newParamsName = params;
        }

        return newParamsName;
      }
    }
  },
  yAxis: {},
  series: [
    {
      name: '数量',
      type: 'bar',
      data: [67, 93, 45, 23, 77, 85, 55, 17]
    }
  ]
});

  • 使用 formatter 函数实现换行

扩展阅读:《最棒的 7 个 Laravel admin 后台管理系统推荐》

方法三:Echarts X 轴 垂直竖显文字

echarts-perpendicular

「垂直显示标签」的情况,显得更正式一些。

myChart.setOption({
  title: { text: '卡拉云 - 销售团队情况汇总' },
  tooltip: {},
  xAxis: {
    data: [
      '蒋铁柱团队',
      '谢国庆团队',
      '卡拉云小火箭',
      '木棉花团队',
      '橘子可乐团队',
      '太阳花团队',
      '蒸汽火车团队',
      '金元宝团队'
    ],
    name: '团队名', // X 坐标轴名称
    nameLocation: 'end', // 名称显示在 X 坐标轴的位置

    axisLabel: {
      interval: 0,
      formatter: function (value) {
        return value.split('').join('\n');
      }
    }
  },
  yAxis: {},
  series: [
    {
      name: '数量',
      type: 'bar',
      data: [67, 93, 45, 23, 77, 85, 55, 17]
    }
  ]
});

  • 使用 formatter 函数实现换行,这里是每个字一行的形式进行换行。

扩展阅读:《最好用的 6 款 Vue 拖拽组件库推荐》

方法四:Echarts X 轴 隔行显示

echarts-repeat

「间隔显示标签」是标签错落有致的显示在页面上。

myChart.setOption({
  title: { text: '卡拉云 - 销售团队情况汇总' },
  tooltip: {},
  xAxis: {
    data: [
      '蒋铁柱团队',
      '谢国庆团队',
      '卡拉云小火箭',
      '木棉花团队',
      '橘子可乐团队',
      '太阳花团队',
      '蒸汽火车团队',
      '金元宝团队'
    ],
    name: '团队名', // X 坐标轴名称
    nameLocation: 'end', // 名称显示在 X 坐标轴的位置

    axisLabel: {
      clickable: true,
      interval: 0,
      formatter: function (params, index) {
        if (index % 2 != 0) {
          return '\n\n' + params;
        } else {
          return params;
        }
      }
    }
  },
  yAxis: {},
  series: [
    {
      name: '数量',
      type: 'bar',
      data: [67, 93, 45, 23, 77, 85, 55, 17]
    }
  ]
});

扩展阅读:《Vue 实现 PDF 文件在线预览 - 手把手教你写 Vue PDF 预览功能》

使用「卡拉云」直接生成图表

本文介绍了如何解决在 Vue 中 ECharts 标签文字超长的情况,虽然开源库已经帮我们解决了大部分造轮子的事,但总有些细枝末节的问题需要我们自己手动解决。那么有没有一种完全不用会前端,一行代码也不用写的方法,生成图表呢?这里推荐你使用卡拉云,卡拉云内置多种样式的图表,仅需鼠标拖拽即可生成,完全不用懂任何前端。

kalacloud-charts.gif

卡拉云是新一代低代码开发工具,免安装部署,可一键接入包括 MySQL 在内的常见数据库及 API。可根据自己的工作流,定制开发。无需繁琐的前端开发,只需要简单拖拽,即可快速搭建企业内部工具。原来三天的开发工作量,使用卡拉云后可缩减至 1 小时,欢迎免费试用卡拉云。

扩展阅读:

echarts X轴数据过多导致重叠展示不全问题(已解决) 阅读详情

相关推荐

Echarts X轴数据过多导致重叠显示不全的问题

用Echarts做可视化分析的时候遇到了一个问题,日期有100多个,将其全部显示出来,密密麻麻的。 警告!!! 密集恐惧症请先行撤退!!! 密集恐惧症请先行撤退!!! 密集恐惧症请先行撤退!!! 密集恐惧症请先行撤退!!! 密集恐惧症请先行撤退!!! 密集恐惧症请先行撤退!!! 密集恐惧症请先行撤退!!! 密集恐惧症请先行撤退!!! 密集恐惧症请先行撤退!!! 密集恐惧症请先行撤退!!! 密集恐惧症请先行撤退!!! 密集恐惧症请先行撤退!!! 密集恐惧症请先行撤退!!! 密集恐

NULL 1万+

解决echarts柱状图x轴文字太多挤压重叠问题

在使用echarts柱状图时会遇到数据项数量不固定且x轴文字数量不固定文字过长等,导致x轴重叠展示的问题,以下提供了几个解决方案,可根据需求来选择。

weixin_43788587的博客 8126

疾病负担研究(GBD)——如何使用joinpoint软件计算AAPC

疾病负担研究(GBD)——如何使用joinpoint软件计算AAPC

weixin_44240228的博客 1万+

解决echarts中地图重叠问题

在使用Echarts开发项目时,困扰许久的地图重叠问题,无意间在echarts官方文档中找到了解决方案。 示例: 如上图,其代码如下: geo: { backgroundColor:'#232e67', map: 'china', roam: true, }, series: [ { backgroundColor:'#232e67', name: '用户分布', type: 'map', mapType: 'china', data: [] } ] 该写法会

觉醒法师的专栏 1万+

微信小程序URL Link全解析:从生成原理到实战应用(附Java代码)

本文深入解析微信小程序URL Link的生成原理与实战应用。URL Link是微信官方提供的智能路由协议,通过中间页实现外部链接安全跳转至小程序指定页面。文章详细阐述了其权限模型、环境版本差异及跳转机制,并提供了包含令牌管理、异常处理和性能优化的健壮Java实现方案,助力开发者构建高可用的链接生成服务。

weixin_29327525的博客 1221

【数学模型】灰色关联分析

数学模型-灰色关联分析

suic009的博客 1万+

echarts X轴显示不全如何处理(显示完全以及换行)

echarts X轴显示不全如下图 如何处理 首先,设置interval: 0,如下 xAxis: { type: "category", axisLabel: { //x轴文字的配置 show: true, interval: 0,...

qq_37899792的博客 4万+

深入浅出ASAP2标准:手把手教你编写和解析A2L文件(含Python示例代码)

本文深入解析ASAP2标准下的A2L文件,涵盖基础概念、文件结构及Python实现代码,帮助开发者掌握汽车ECU标定和测量中的关键数据管理技术。通过详细示例,展示如何编写和解析A2L文件,提升电控数据管理效率。

happy2的博客 1101

echarts X轴项目文字过多显示不全的三种解决方案

echarts x轴标签文字过多导致显示不全怎么办 解决方案1:xAxis.axisLabel 属性 axisLabel的类型是object ,主要作用是:坐标轴刻度标签的相关设置。(当然yAxis也是一样有这个属性的) axisLabel: { interval:0, rotate:40 } 以上就可解决x轴文字显示不全并将文字倾斜 稍微解释一下 interval 坐标轴刻度标签的显示间隔(在类目轴中有效哦),默认会采用标签不重叠的方式显示标签(也就是默认会将部分文字显示不全

前端界的小学生 1万+

stm32f407等芯片(HAL库)时钟频率修改(乱码)

其他片子及库文件未知、未验证,只是在使用stm32f407ZG配置串口打印的时候,出现乱码,就从以下几方面定位问题: 1. 确认串口GPIO相关配置; 2. 确认波特率等参数; 3. 确认时钟频率; 结果这次使用YH的串口打印程序在ZDYZ的开发板调试项目工程(有点另类...),做功能验证,就出现了以上问题,出于好奇开始调试,最终发现是时钟频率问题。 看到下图这个配置,因为ZDYZ开发板使用的是8MHz外部晶振(好像默认的是25MHz,如图2),所以他这里PLL_M是25,不是推荐值,感...

bulefire2009的博客 5517

03. 线性规划与混合整数规划 (LP/MIP)

本文介绍了OR-Tools中的线性规划(LP)和混合整数规划(MIP)求解器。主要内容包括:1) LP/MIP的基本概念和数学形式,对比了LP、MIP、ILP和BIP的区别;2) OR-Tools支持的求解器类型,如GLOP、SCIP等,以及它们各自的特点和适用场景;3) 详细展示了如何使用GLOP求解器进行线性规划求解,包括变量定义、约束添加和目标函数设置;4) 介绍了SCIP求解器的配置和使用方法;5) 讨论了变量类型、约束类型、多目标优化等进阶功能。文章通过Java代码示例演示了如何实现一个完整的优化

智慧是做事用的 158

Echarts中axislabel文字过长导致显示不全或重叠

最近在使用Echarts的时候,遇到点问题就是xAxis文字过长导致x轴的文字显示不全. 解决方案如下: 1 &lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTM

kkwant的博客 4286

使用R语言读取和处理CSV数据集

查看数据集的结构str(data)# 查看数据集的摘要统计信息str()函数将显示数据集的结构信息,包括变量名称、类型和前几行的值。summary()函数将提供数据集的摘要统计信息,如均值、中位数、最小值、最大值等。

CyberGenius的博客 3856

Echarts x轴文本内容太长的几种解决方案

Echarts 标签中文本内容太长的时候怎么办 ? - 1对文本进行倾斜 在xAxis.axisLabe中修改rotate的值 xAxis: { data: ["衬衫11111","羊毛二二","雪纺衫111","裤子111","高跟鞋11","袜子111"],//x轴中的数据 name:"123",//坐标轴名称。 na

zm_miner的博客 11万+

Python爬虫实战:基于异步爬虫与机器学习的数据采集——以电商平台在线评论有用性分析为例

内容涵盖爬虫原理、反爬虫策略应对、数据清洗、数据存储以及简单的数据分析预览,并为后续利用机器学习模型(如逻辑回归、随机森林)分析评论有用性打下坚实的数据基础。特别是在电子商务领域,在线评论作为UGC的一种主要形式,深刻影响着消费者的购买决策和商家的信誉体系。然而,平台上的评论质量参差不齐,充斥着大量无意义的灌水、广告甚至虚假评论。因此,如何自动识别和筛选出“有用”的评论,成为了学术界和工业界共同关注的焦点。我们选择目前Python爬虫领域最前沿、效率最高的技术组合,以确保爬虫的稳定性、速度和可扩展性。

2201_76125261的博客 108

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

echarts x轴文字个数太多_echarts图表X轴文字过长解决解决方案:根据文字长度自动旋转...

Echarts 标签中文本内容太长的时候怎么办 ?关于这个问题搜索一下,有很多解决方案。无非就是 省略(间隔显示)、旋转文字方向、竖排展示前面两种解决方案,就是echarts暴露的:{axisLabel:{interval:0,//如果设置为1,表示『隔一个标签显示一个标签』,如果值为2,表示隔两个标签显示一个标签,以此类推。rotate:'45',//刻度标签旋转的角度,在类目轴的类...

weixin_33463850的博客 5575

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Echarts 解决饼图文字过长重叠的问题

之前在网上查找了很多关于解决饼图文字描述过长导致重叠的问题,找了很多一直没有一个合适的解决方案,最后自己只能花时间研究echarts文档,功夫不负有心人,终于解决了文字重叠展示不全等问题。 废话不多说,直接上图上代码 这是手机屏幕的展示效果 下面再来说下我的解决方案 第一步:调整文字的显示大小,手机上文字可以更小,这里我用的是8px字号 第二步:设置最小扇区角度,minAngle(最小的扇区角度(0 ~ 360),用于防止某个值过小导致扇区太小影响交互) 第三步:avoidLa...

hzxOnlineOk的博客 2269

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

echarts图表X轴文字过长解决解决方案:根据文字长度自动旋转

Echarts 标签中文本内容太长的时候怎么办 ? 关于这个问题搜索一下,有很多解决方案。无非就是 省略(间隔显示)、旋转文字方向、竖排展示 前面两种解决方案,就是echarts暴露的: { axisLabel:{ interval:0,//如果设置为1,表示『隔一个标签显示一个标签』,如果值为2,表示隔两个标签显示一个标签,以此类推。 rotate:'45',//刻度标签旋转的角度,在类目轴的类目标签显示不下的时候可以通过旋转防止标签之间重叠。 }, }; 用...

周陆军的博客,分享it技术。 2480

echarts x轴文字显示不全

使用echarts绘制图表时,当数据量比较多时,我们会发现x轴文字显示不全,出现如下图的情况。 echarts图表中有个axisLabel配置项,是坐标轴刻度标签的相关设置。interval属性是坐标轴刻度标签的显示间隔,默认会采用标签不重叠的策略间隔显示标签。可以设置成 0 强制显示所有标签。还有一个属性:rotate: number 度角是倾斜的控制所在,在类目轴的类目标签显示不下的时候可以...

peppa_pig的博客 7309

echarts x轴标签文字过多导致显示不全

echarts x轴标签文字过多导致显示不全如图:解决办法1:xAxis.axisLabel 属性axisLabel的类型是object ,主要作用是:坐标轴刻度标签的相关设置。(当然yAxis也是一样有这个属性的)[html]&nbsp;view plain&nbsp;copyaxisLabel:&n...

小屁孩大帅-保密的博客 1462

echarts x轴文字个数太多_echarts x轴标签文字过多导致显示不全,最有效的3种解决方法...

echarts x轴标签文字过多导致显示不全,只是我之前在csdn发表过,经过实践,效果不错!如图:办法1:xAxis.axisLabel 属性axisLabel的类型是object ,主要作用是:坐标轴刻度标签的相关设置。(当然yAxis也是一样有这个属性的)axisLabel: {interval:0,rotate:40}以上就可解决x轴文字显示不全并将文字倾斜。如图:稍微解释一下interv...

weixin_35379520的博客 2839

Echarts-axislabel文字过长导致显示不全或重叠

先看两张图 按目前情况,官方并为对axislabel的高度或者宽度做调整。所以解决方案只能从其他方案下手 解决方案有几种 第一种为上图解决方案 设置grid属性定义图的大小来释放空间,使得axislabel有足够的空间 /** 参数传值全部为数组 * @param names x轴值 * @param xycounts * @param zsc...

1685

解决echarts x轴数据太多造成重叠的问题

解决echarts x轴数据太多造成重叠的问题 问题描述: x轴数据太多,且坐标轴标签文字较多,想要把数据全部展示出来会造成文字重叠。 解决思路: echarts提供了dataZoom组件用于区域缩放,但下载的截图只能体现当前展示的内容,可以做成默认正常展示前几个,收缩到一定程度的时候改变axisLabel的角度,斜着展示。 解决步骤: 控制展示文字长度,设置axisLabel,如果字符串长度大于6,则中间的内容用‘…’代替 option.xAxis.axisLabel = { show: tru

weixin_45850738的博客 1万+
上一篇: ToolJet 是什么,怎么样? 低代码开发平台测评
codingboy333
博客等级 码龄5年 0粉丝 2原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值