Echarts X轴文字自适应显示不被遮挡

近期Echarts图形化数据展示项目上线,导入了新的组织结构,奔溃了.

为啥?

第一,部门数量多,一些地方通过xAxis-axisLabel,可以实现超多部门的斜列显示,但是有些时候设置旋转角度不完全管用,比如下面说到了还有就是部门太密集重叠;

"xAxis": [{
                    "type": "category",
                    "axisLabel": {
                        "interval": 0,
                        "rotate": 30
                    },
                    "data": xData,
                }],

第二,旋转之后,部分名称较长的部门名称被截断遮掩了,即超出了容器的长度;

这个好烦,好不容易斜列显示了,一些名称太长的部门还是被截断了.

一开始,想着,不就容器高度不够吗,增加容器高度,和把Echarts实例的grid中的bottom底边值增加一些,这个方法确实可以实现,但是有两个缺陷:

1)这个是实打实的把空间设置出来了,如果都是名称较短的,那空出这一块空间,看着有点尬,其次如果调的空间比较多,整个版面会变得好大,美观性就可能...;

2)这个其实依旧是治标不治本,比如如果在来一个名称更长的,那不是一样被遮住?

有没有可自适应的容器高度的?用这个:containLabel: true,在Echarts实例的grid中,代码如下:

"grid": {
                    left: '4%',
                    right: '4%',
                    bottom: '3%',
                    containLabel: true,
                     textStyle: {
                        color: "#fff"
                    }
                },

这样,会根据X轴标签的长度自适应调整整个画布的高度,首先会优先保证标签的显示完整.那么缺点就是,标签完整了,需要空间哪里来呢?Echarts会去动态的压缩画布绘制图形的大小,这算是一个缺点.

所以在做的时候,容器的高度还是适当把控下,但是这个设置好用,毕竟出现长名称的X轴可能性少一点.

所以碰到上面X轴被遮掩的问题,基本上结合这两个设置,就可以搞定.

"grid": {
                    left: '4%',
                    right: '4%',
                    bottom: '3%',
                    containLabel: true,
                     textStyle: {
                        color: "#fff"
                    }
                },
"xAxis": [{
                    "type": "category",
                    "axisLabel": {
                        "interval": 0,
                        "rotate": 30
                    },
                    "data": xData,
                }],

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值