echarts的tooltip的formatter方法问题

  tooltip: {
    trigger: 'axis',
    formatter: function(params) {

    }
  },

请问如何把图中的612,382,063Byte像左边一样转化成相应的MB GB?

 yAxis: {
    type: 'value',
    axisLabel: {
      formatter: function(value, index) {
        if ((value / (1024 * 1024 * 1024)) > 10) {
          return (value / (1024 * 1024 * 1024)).toFixed(2) + ' G'
        } else if ((value / (1024 * 1024)) > 10) {
          return (value / (1024 * 1024)).toFixed(2) + ' M'
        } else if ((value / (1024)) > 10) {
          return (value / (1024)).toFixed(2) + ' K'
        } else {
          return value + ' byte'
        }
      }
    }
  },

这个是左边Y轴转换成功的代码

阅读 5.4k
2 个回答

低版本就自己拼呗,主要难点应该在marker上,这个根据params中的color可以自己生成

formatter: (params) => {
    let date = ''
    let htmls = params.map((item, index) => {
        date = item.value[0]
        let marker = '<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:' + item.color + ';"></span>'
        let value = item.value[1] || ''
        value = value ? value.toFixed(2) : value
        return marker + item.seriesName + ':' + value
    })
    return date + '<br>' + htmls.join('<br>')
}

版本稍高一点,marker都不需要自己拼,params中就有返回,就更简单了

formatter: (params) => {
    let date = ''
    let htmls = params.map((item, index) => {
        date = item.value[0]
        let value = item.value[1] || ''
        value = value ? value.toFixed(2) : value
        return item.marker + item.seriesName + ':' + value
    })
    return date + '<br>' + htmls.join('<br>')
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题