当前位置: 代码网 > it编程>编程语言>Javascript > ECharts坐标轴刻度数值处理方法例子

ECharts坐标轴刻度数值处理方法例子

2024年11月25日 Javascript 我要评论
写图表时,y轴的数值过大,不太可能直接展示,这时候就得简写了,或者百分比展示的也要处理,如下图: yaxis: { type: 'value', // y轴轴线 axisline: { s

写图表时,y轴的数值过大,不太可能直接展示,这时候就得简写了,或者百分比展示的也要处理,如下图:

 yaxis: {
   type: 'value',

   // y轴轴线
   axisline: { show: false }, 

   // 刻度线
   axistick: { show: false },

   // 轴刻度值
   axislabel: {
     interval: 0, //坐标轴值与坐标轴间距

     rotate: 0, //旋转角度
    
     // 值格式化 (tobmk函数 处理 y轴数字值)
     formatter(val) {
       return `${tobmk(val)}${option.series[0].data[0].indexof('%') > -1 ? '%' : ''}`;
     },
   },
 }

红框圈起来的数值表示如下:

1k1000
1m1000,000
1b

1000,000,000

1kb1000,000,000,000

tobmk函数:

export function tobmk(value) {
  const vblvalue = math.abs(value);
  const newvalue = ['', '', ''];
  let fr = 1000;
  let num = 3;
  while (vblvalue / fr >= 1) {
    fr *= 10;
    num += 1;
  }
  if (num <= 4) {
    newvalue[1] = 'k';
    newvalue[0] = vblvalue / 1000 >= 10 
    ? `${parseint(vblvalue / 1000, 10)}` 
    : (vblvalue / 1000).tofixed(1);

  } else if (num <= 7) {
    const text1 = parseint(num - 3, 10) / 3 > 1 ? 'm' : 'k';
    const fm = text1 === 'k' ? 1000 : 1000000;
    newvalue[1] = text1;
    newvalue[0] = `${vblvalue / fm}`;
  } else {
    let text1 = (num - 6) / 3 > 1 ? 'b' : 'm';
    text1 = (num - 9) / 3 > 1 ? 'kb' : text1;
    let fm = 1;
    if (text1 === 'm') {
      fm = 1000000;
    } else if (text1 === 'b') {
      fm = 1000000000;
    } else if (text1 === 'kb') {
      fm = 1000000000000;
    }
    newvalue[1] = text1;
    newvalue[0] = `${parseint(vblvalue / fm, 10)}`;
  }
  if (vblvalue < 1000) {
    newvalue[1] = '';
    newvalue[0] = `${vblvalue}`;
  }
  return `${value < 0 ? '-' : ''}${newvalue.join('')}`;
}

y轴yaxis的属性,数值格式化,对应的大数值就会转换为简写,图表看起来美观,简明一些。

总结

到此这篇关于echarts坐标轴刻度数值处理的文章就介绍到这了,更多相关echarts坐标轴刻度数值内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com