echarts x轴标签倾斜-echarts x轴文字显示不完整(x轴文字倾斜的三种方法比较全面,推荐)

2023-08-23 0 1,202 百度已收录

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

如图所示:

解决方案1:xAxis.axisLabel属性

axisLabel的类型为object,主要作用是设置坐标轴的刻度标签。 (其实yAxis也有这个属性)

                                        axisLabel: {
                                           interval:0,
                                           rotate:40
                                        }

以上可以解决x轴文字显示不全、文字倾斜的问题。 如图所示:

解释一下

间隔

坐标轴刻度标签的显示间隔(类别轴有效)。 默认情况下,标签会以不重叠标签的形式显示(即默认会显示部分文字不完整)

可以设置为 0 以强制显示所有标签。 如果设置为1,则表示每隔一个标签显示一个标签。 如果是3,表示每3个标签显示一个标签。 这样

旋转

标签倾斜的角度,当类别轴的类别标签未完全显示时echarts x轴标签倾斜,可以旋转以避免标签重叠(官方是这么说的)。 旋转角度-90度到90度

问题又来了。 如果该名称的x轴上的文字太长,则会被遮挡,或者无法完全显示。 这时候就可以利用grid属性来解决

grid: {
left: '10%',
bottom:'35%'
},

如图所示:

方案二:调用formatter垂直显示文本

通常很多人都习惯方法1,该方法并不完美,在一定程度上还是解决了一些问题。文本不是特别大的时候还是可以的,我觉得不如第一种方法

格式化程序在axisLabel中使用来反弹。 格式化程序有两个参数。 格式化程序的使用方式是:function(value,index){},value是类别(测试诊所A,人民诊所),index是类别索引。

             axisLabel: {
                                            interval: 0,
                                            formatter:function(value)
                                            {
                                                return value.split("").join("n");
                                            }
                                        }

如图所示:

竖排文本的格式化程序有点太简单了,所以让我们用两个单词和 n 来换行。 格式化程序如下:

       axisLabel: {
                                            interval: 0,
                                            formatter:function(value)
                                            {
                                                debugger
                                                var ret = "";//拼接加n返回的类目项
                                                var maxLength = 2;//每项显示文字个数
                                                var valLength = value.length;//X轴类目项的文字个数
                                                var rowN = Math.ceil(valLength / maxLength); //类目项需要换行的行数
                                                if (rowN > 1)//如果类目项的文字大于3,
                                                {
                                                    for (var i = 0; i < rowN; i++) {
                                                        var temp = "";//每次截取的字符串
                                                        var start = i * maxLength;//开始截取的位置
                                                        var end = start + maxLength;//结束截取的位置
                                                        //这里也可以加一个是否是最后一行的判断,但是不加也没有影响,那就不加吧
                                                        temp = value.substring(start, end) + "n";
                                                        ret += temp; //凭借最终的字符串
                                                    }
                                                    return ret;
                                                }
                                                else {
                                                    return value;
                                                }
                                            }
                                        }

疗效如图

解决方案3:X轴类别项用换行符分隔(使用格式化程序中的index参数)

两者中的第二种方法都是使用格式化程序中的value参数来实现文本拼接n换行,并且不使用index参数。 现在我们使用这两个参数来实现每隔一个类别项换行。

疗效如图:

代码比较简单:

            axisLabel: {
                                            interval: 0,
                                            formatter:function(value,index)
                                            {
                                                debugger
                                                if (index % 2 != 0) {
                                                    return 'nn' + value;
                                                }
                                                else {
                                                    return value;
                                                }
                                            }
                                        }

这些是我推荐的。 以上方法基本可以解决问题,但都不是完美的。

你可能会遇到一个常见的情况

恐怕你也会遇到这样的问题。 由于这个数据几乎都是动态的,所以当类别很少的时候就可以显示xAxis类别轴上的类别数量,所以不需要这样的倾斜。 那又怎样呢? 这确实有点尴尬,虽然看起来没有解决办法,但确实很尴尬,如果你能告诉我echarts x轴标签倾斜,谢谢!

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 echarts echarts x轴标签倾斜-echarts x轴文字显示不完整(x轴文字倾斜的三种方法比较全面,推荐) https://www.wkzy.net/game/143837.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务