echarts折线图单位为Bit/s的数据展示

这篇文章讲述了如何在数据可视化中将以比特每秒(Bit/s)返回的数据显示为更易读的单位(如GB/s、Mb/s、Kb/s),包括Y轴单位的转换、图例和tooltip中的单位调整,以及对图例数据的排序和格式化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需求:单位为Bit/s的数据需要换算y轴、legend和tooltip的单位;
显示数据时需要换算单位是因为数据以比特每秒(Bit/s)的形式返回,但是在实际展示中,可能更方便和易读的是使用其他单位,例如Gb/s、Mb/s、Kb/s等等

换算Y轴的单位:需要根据负 Y 轴关键字处理y轴刻度值,并将数据放在-y轴

实现思路:判断legend中是否含有negative_y_keyword关键字,含有的放到负轴,需要转成负数(后端返回的都是正数);换算y轴的单位

   data.value = props.series.metrics?.map((item: any, index: any) => {
   
   
        /* 判断legend中是否含有negative_y_keyword关键字,含有的放到正轴 */
        const isNegative = item.legend.includes(props.series.negative_y_keyword);
        return {
   
   
          name: item.legend,
          type: 'line',
          symbol: 'none',
          data: item.values.map((value: any) => {
   
   
            let yValue = parseInt(value[1], 10);
            if (isNegative === true) {
   
   
              yValue = -yValue;
            }
            return [value[0], yValue];
          }),
          color: color[index % 10],
          lineStyle: {
   
   
            width: 1, // 设置曲线的粗细,单位为像素
          },
          areaStyle: {
   
    opacity: 0.1 }, // 设置曲线阴影的透明度
        };
      });
  /* Bit/s的Y坐标轴数据单位转换 */
  const yAxisTransUnit = (total: number) => {
   
   
    if (total > 1000000000 || total < -1000000000) {
   
   
      return `
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值