echarts的axislabel的文字内容过长的解决办法(代码片段)

夏目友人喵 夏目友人喵     2022-11-16     616

关键词:

通过查找资料学习,我总结了四种解决的办法,不一定是最好的,但是希望能够帮助到需要的童鞋,同时如果大家有什么更好的方法欢迎指导。

方法一:这种方法就是将文本内容转换为字符串数组,然后再按需求换行,需要每行显示几个字可以自己设置

axisLabel:
                                interval: 0,
                                //rotate:30,
                                formatter: function(val)
                                    var strs = val.split(‘‘); //字符串数组
                                    var str = ‘‘
                                    for(var i = 0, s; s = strs[i++];) //遍历字符串数组
                                        str += s;
                                        if(!(i % 8)) str += ‘\n‘; //按需要求余
                                    
                                    return str
                                
                            ,

方法二:就是让坐标值的内容旋转一定的角度这样也可以全部显示出来

axisLabel:
                                interval: 0,//让所有坐标值全部显示
                                rotate:30,//让坐标值旋转一定的角度

方法三:这种方法就是将文本内容按一定的长度截取,然后多余的部分用 ... 拼接代替,这个方法的一个缺点就是没办法直观的全部显示文本内容

axisLabel:
                                interval: 0,
                                //rotate:30,
                                formatter: function (name)
                                    return (name.length > 8 ? (name.slice(0,8)+"...") : name );
                                ,

方法四:这个方法和第一个方法类似,看起来比第一个方法复杂,不过能更完善一点

axisLabel :
                               interval : 0,
                               function(params)
                                var newParamsName = "";// 最终拼接成的字符串
                                var paramsNameNumber = params.length;// 实际标签的个数
                                var provideNumber = 8;// 每行能显示的字的个数
                                var rowNumber = Math.ceil(paramsNameNumber / provideNumber);// 换行的话,需要显示几行,向上取整
                                /** 判断标签的个数是否大于规定的个数, 如果大于,则进行换行处理 如果不大于,即等于或小于,就返回原标签 */
                              
                                if (paramsNameNumber > provideNumber) // 条件等同于rowNumber>1
                                    /** 循环每一行,p表示行 */
                                    for (var p = 0; p < rowNumber; p++)
                                        var tempStr = "";// 表示每一次截取的字符串
                                        var start = p * provideNumber;// 开始截取的位置
                                        var end = start + provideNumber;// 结束截取的位置
                                        // 此处特殊处理最后一行的索引值
                                        if (p == rowNumber - 1)
                                            // 最后一次不换行
                                            tempStr = params.substring(start, paramsNameNumber);
                                        else
                                            // 每一次拼接字符串并换行
                                            tempStr = params.substring(start, end) + "\n";
                                       
                                        newParamsName += tempStr;// 最终拼成的字符串
                                   
                            
                                else
                                    // 将旧标签的值赋给新标签
                                    newParamsName = params;
                               
                                //将最终的字符串返回
                                return newParamsName
                            
          

 

一共就这么多了,如果有什么问题希望大家多多指导,希望对大家有帮助。

 



echarts坐标轴线文字换行(代码片段)

由于后台返回文字过长,所有文字显示不够,会导致部分项隐藏,限定宽度,设置过长的换行,轻松解决xAxis:type:"category",boundaryGap:false,axisTick:show:false,axisLine:lineStyle:color:"rgba(228,231,237,1)",type:"dashed",axisLabel:color:"rgba(95, 查看详情

echarts图例之间的间距怎么设置

...内容多时,自动间隔显示文字。5、在option的xAxis区域添加axisLabel:interval:0,这个语句的意思是,设置横坐标的文字全部显示,不间隔。6、再次运行就可以看到横坐标的内容全部显示了,但是由于空间不够,内容都挤到一起去了。... 查看详情

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

...标签重叠策略,默认默认开启)第四步:文字换行展示,echarts给我们提供了一个formatter(标签内容格式器,支持字符串模板和回调函数两种形式,字符串模板与回调函数返回的字符串均支持用\n换行)属性。转发自 查看详情

echart的label标签文字过长显示不全怎么办?

echart的官方只提供label标签文字过长是斜着显示的方式,并且文字显示不全重叠等现象。那么只能自己的方式来实现。option={title:{text:‘世界人口总量‘,subtext:‘数据来自网络‘},tooltip:{trigger:‘axis‘},legend:{data:[‘2011年‘,‘2012... 查看详情

echarts图表里label文字过长换行的方法

...的问题,需要将其按照指定的字数换行,像下图这样 而echarts没有提供换行的方法,但是可以使用fomatter方法进行设置,代码如下formatter:function(val){varstrs=val.split(‘‘);//字符串数组varstr=‘‘for(vari=0,s;s=strs[i++];){//遍历字符串数组str+... 查看详情

echart的label标签文字过长显示不全怎么办

‍只需要将grid中的containLabel设置成true就可以了。有效的防止标签溢出。参考技术A有办法设置成自动调整没,或者是删除不必要的字 查看详情

echars横坐标文字过长挤住

...文字过长,如一下一样  可以使用换行显示在xAxis.axisLabel使用formatter回调函数实现换行  axisLabel://坐标轴刻度标签的相关设置。formatter:function(params)varnewParamsName="";//最终拼接成的字符串varparamsNameNumber=params.length;//实... 查看详情

echarts:折线图横坐标内容过长省略显示

参考技术A在画echarts图时,可能会出现X轴或Y轴的标题过长的显示问题PS.这里是折线图的X轴数据,Y轴同样如此,在对应的位置贴上即可结果: 查看详情

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

参考技术A当我们使用Echarts饼图时如果文字过长会导致重叠在一起,如下图:解决方法:设置最小扇区角度,minAngle(最小的扇区角度(0~360),用于防止某个值过小导致扇区太小影响交互) 查看详情

电力项目七--js控制文字内容过长的显示

当文本框中文字内容过长时,需要调整显示的样式 如上图所示的样式对应的代码为:<divid="showInfomation"style="visibility:hidden"></div><tronmouseover="this.style.backgroundColor=‘white‘"onmouseout="this.style.backgroundCol 查看详情

echarts为啥将x轴的文字倾斜过后还是不能输入太长的字段

...内容! 参考技术Brid属性定义图的大小来释放空间,使得axislabel有足够的空间/**参数传值全部为数组*@paramnamesx轴值*@paramxycounts*@paramzscounts*@paramxypjjlrs*@paramzspjjlrs*/functiondrawZZTZXTBJ(names,xycounts,zscounts,xypjjlrs,zspjjlrs)//console.log(zspjjlrs);... 查看详情

echarts的使用过程

...把它记录一下省的日后继续翻来翻去。//文字旋转角度 axisLabel:{ interval:0,//刻度值逐个显示 若为1则是隔一个显示一个 rotate:40,/ 查看详情

echartsx/y轴坐标文字过长的解决办法(换行)

参考技术A1、创建一个方法许多人使用echarts.js时候会出现数据名太长覆盖的情况,newline()这个方法,能够很好解决这种换行问题2、使用方法请往下看↓↓↓ 查看详情

echarts(代码片段)

...l来进行调整。如果我们想显示全,则需要在xAxis属性加上axisLabel:interval:02.echarts中,横轴数据倾斜展示,垂直展示分别为:xAxis:data:[‘肺癌‘,‘胃癌‘,‘食管癌‘,‘结直肠癌‘,‘肝癌‘],axisLabel:interval:0,//横轴信息全部显示//rot... 查看详情

echarts柱状图x轴文字加点击事件参数怎么传?我这样写只能跳转不能传参数。。

...x]this.$emit('handbarclick',params))参考技术AtargetType=="axisLabel"表示点击的是轴文字yAxisIndex(xAxisIndex)是轴idvalue是轴文字内容没有轴文字的id,但轴文字不重复的话,感觉应该够用了 查看详情

echarts+x轴刻度间距是啥意思?

...标签不重叠的策略间隔显示标签,则需要在xAxis属性加上axisLabel:interval:0。可以设置成0强制显示所有标签。xAxis.axisLabel属性:axisLabel的类型是object,主要作用是:坐标轴刻度标签的相关设置(当然yAxis也是一样有这个属性的)。... 查看详情

修改echarts图表的坐标轴的文本的排列位置

option.xAxis.axisLabel[‘interval‘]=0  option.xAxis.axisLabel[‘formatter‘]=function(value,index)      varret ="";      if(index%2==1)        ret+="";        ret+=value;        return ret; 查看详情

echarts饼状图外部文字过长显示不全问题(代码片段)

问题所在解决方案label:show:true,fontSize:"12",//通过slice方法设置超过4个字就换行展示normal:formatter(v)lettext=v.name;returntext.length<4?text:`$text.slice(0,4)\\n$text.slice(4)`;,,,核心代码把这个方 查看详情