首页 > 其他分享 >echarts X轴字数太长显示不全,使用省略显示全部内容

echarts X轴字数太长显示不全,使用省略显示全部内容

时间:2024-05-21 09:40:24浏览次数:25  
标签:显示 省略 全部内容 item params xAxis formatter data echarts

需求:echartsX轴字数太长显示不全,产品经理需要把多余的省略掉,然后鼠标悬浮的时候显示全部内容

先说一下我的解决思路吧
1.我先想到的是将xAxis里的data数据截取前六位,然后使用.substring(0, 6) + '...'字符串截取去显示,发现不可行,因为那样鼠标悬浮还是会被截取掉的
2.xAxis不行之后,我又想着tooltip,可是下面X轴又没解决,在怎么看tooltip也白搭,问题不在这里
3.又回到X轴的xAxis里去了,想到之前X轴显示不全斜着放,超过指定字数可以换行这里,灵感就来了
tooltip: {
   trigger: 'axis',
   axisPointer: { // 坐标轴指示器,坐标轴触发有效
     type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
   },
   formatter: function(params) {
     // console.log('formatter', params) // 当我们想要自定义提示框内容时,可以先将鼠标悬浮的数据打印出来,然后根据需求提取出来即可
     let firstParams = params[0]
     return firstParams.name + '<br>' + '退款率:' + firstParams.data + ' %'
   }
 },
xAxis: [
    {
       name: '物流方式',
       type: 'category',
       // show: false, // 是否显示X轴
       axisLabel: {
         show: true, // 是否显示X轴的内容,不包含两端的文字
         interval: 0,
         // rotate: '50', // 旋转50°
         lineHeight: 18,
         formatter: function(params) {
           console.log('formatter', params, params.length)
           var newParamsName = ''// 最终拼接成的字符串
           var paramsNameNumber = params.length// 实际标签的个数
           var provideNumber = 6// 每行能显示的字的个数
           // 判断标签的个数是否大于规定的个数, 如果大于,则进行换行处理 如果不大于,即等于或小于,就返回原标签
           if (paramsNameNumber > provideNumber) {
           // ********重点在这里********
             newParamsName = params.substring(0, 6) + '..'// 最终拼成的字符串
           } else { // 将旧标签的值赋给新标签
             newParamsName = params
           }
           // 将最终的字符串返回
           return newParamsName
         }
       },
       // data:接口的值 [33.33, 28.57, 27.27, 25, 25],
       data: data.data.map(item => item.shippingmethod)
       // data: data.data.map(item => item.shippingmethod.substring(0, 6) + '...'), // 这种方法不可取
     }
   ],

原文: https://blog.csdn.net/qq_45094682/article/details/122703862

标签:显示,省略,全部内容,item,params,xAxis,formatter,data,echarts
From: https://www.cnblogs.com/linhan8888/p/18203321

相关文章

  • vue2 使用echarts实现地图点击进入下一层级+点击空白处回退
    先验知识:vue2中echarts的安装和显示中国地图:https://www.cnblogs.com/sunshine233/p/16140522.html鼠标事件: https://echarts.apache.org/zh/api.html#echartsInstance.onecharts.getMap():https://echarts.apache.org/zh/api.html#echarts.getMap监听“空白处”的事件:https:/......
  • echarts图由于容器隐藏导致图表不显示问题解决办法
    开发过程中常常会遇到echarts图由于容器隐藏导致图表不显示问题,最简单的办法就是给容器元素加上宽度和高度容器加上固定的宽度和高度<divid="res"style="height:450px;width:1200px"></div>然而在实际开发中某些场景下,要求图表宽度100%显示,而计算容器的宽度有时又会十分的麻......
  • Echarts设置饼状图保证你看的明明白白
    简单的饼状图<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>ECharts-动画</title>......
  • echarts折线鼠标悬浮时只显示了一条线的数据
    项目中对悬浮的值formatter进行了唯一给值,并没有针对每一个进行赋值问题代码大致为:formatter:(params)=>{return`${params[0].name}<br/>${params[0].值1}${params[0].值2}:${params[0].value==0?"-":Number(params[0].value).toLoca......
  • 关于vue3中使用echarts设置tooltip的type为axis不显示的问题
    因为vue3中的数据对象是用的proxy监听的,要取值需要用value等方法取出来,解决方法:使用markRaw让echarts从监听对象变成普通对象!在Vue3中,markRaw是一个用于告诉Vue的响应性系统不要对某个对象进行转换或追踪其响应性的函数。当你有一个对象,并且你确定你不需要它成为响应性......
  • ECharts自定义提示框浮层内容
    因为提示框内容支持字符串模板和回调函数两种形式字符串模板模板变量有{a},{b},{c},{d},{e},分别表示系列名,数据名,数据值等等,但是trigger属性为axis的时候它数据条就很多了,就可以用{a0},{a1},{a2}这样子去拿数据跟数组下标一样(官网有详细示例)示例:在`option`中的`tooltip`里边写......
  • Echarts -- 实现动态加载series
    Echarts--实现动态加载series:https://blog.csdn.net/m0_74444744/article/details/134467184?ops_request_misc=&request_id=&biz_id=102&utm_term=echarts%20series&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-1-1344671......
  • .NET开源、功能强大、跨平台的图表库 - LiveCharts2
    https://www.cnblogs.com/Can-daydayup/p/18166862 思维导航前言项目介绍项目源代码BlazorWasm中快速使用项目更多图表截图项目源码地址优秀项目和框架精选DotNetGuide技术社区交流群前言今天大姚给大家分享一个.NET开源(MITLicense)、功能强大、简单、灵活、跨......
  • echarts显示双y轴:折线图+柱状图
    先验知识:yAxis. positiony轴的位置。可选:'left''right'默认grid中的第一个y轴在grid的左侧('left'),第二个y轴视第一个y轴的位置放在另一侧。注:若未将 yAxis.axisLine.onZero 设为 false ,则该项无法生效series-bar. yAxisIndex number使用的 y轴的......
  • vue+echarts实现地图及飞线图
    参考:1.Echarts画区域飞线地图  https://blog.csdn.net/Daylighte/article/details/122502754?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-1-122502754-blog-122918939.235^v43^control&spm=1001.2101.3001.4242.2&utm_re......