Echart图标Y轴数据太长,显示错乱一般全为0解决办法

Echart图标Y轴数据太长,显示错乱一般全为0解决办法

场景描述:

Echart图表一般Y轴都是用来显示数字的,但是有时候数字特别大,几百万,几千万,这种往往显示就不全,导致全为0

正常显示效果:

正常显示效果

 

显示全为0:

问题原因:

主要是因为样式的问题,y轴距离左侧太近,装不小太长的数据引起的,由于echart是自己绘制canvas as 图形,样式这块不好修改。

可以改的地方有下面几个:

yAxis.axisLabel.margin:刻度标签与轴线之间的距离。默认值是8,可以改小一点。不过本来的值已经很小了,这个没多大作用。
yAxis.axisLabel.formatter:刻度标签的内容格式器,支持字符串模板和回调函数两种形式。比如可以设置太长了换行之类的。
grid.left:grid 组件离容器左侧的距离。默认值是10%。

解决思路:

既然样式不好解决,那就缩短数据长度。

我的做法就是数据太大就除以1万,特别大就除以一千万,然后数字显示样式这块加上‘万’字或者‘千万’

代码:

option = {
    ...
    yAxis: {
        type: 'value',
        name: '营业额(元)',
        axisTick: {
            inside: true
        },
        scale: true,
        axisLabel: {
            margin: 2,
            formatter: function (value, index) {
                if (value >= 10000 && value < 10000000) {
                    value = value / 10000 + "万";
                } else if (value >= 10000000) {
                    value = value / 10000000 + "千万";
                }
                return value;
            }
        },
    },
    grid: {
        left: 35
    },

最终效果:

 

 

 

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值