echarts传值问题

第一个图表柱状图,Y轴的数值显示为名字,如果没有名字,则显示IP
点击柱子,会根据名字所对应的IP进行查询
问题:
怎么获得对应的IP值?
通过柱状图可获取的params,其中可能有IP,也可能有名字
怎么判定,才能得到IP值?
image.png

阅读 3.4k
3 个回答
新手上路,请多包涵

虽然我不太能明白你的问题,但是我觉得你可以尝试着去看看官方文档中关于 formatter 这个参数的设置,它可以是字符串也可以是一个function,控制在数据的一些格式化显示,或许可以从这里看看能不能解决你的问题。
另一个解决方向是你可以试着在构建图标之前将数据手动格式化一次

你处理数据的时候就可以把ip以及name携带过去,然后直接在params中取就可以了,数据写成数组对象的格式,比如下面这样

{
        value: sum,
        name: '1.11.1.223',
        _name: '',
        ip: '1.11.1.223'
}

// 通过 echart的点击事件,拿到当前index,然后再根据index去源数据中找到对应的index的数据,就可以按常规方法进行判断处理

  myChart.getZr().on('click', (params) => {
        const pointInPixel = [params.offsetX, params.offsetY]
        if (myChart.containPixel('grid', pointInPixel)) {
          let xIndex = myChart.convertFromPixel({ seriesIndex: 0 }, [params.offsetX, params.offsetY])[0]
        }
      })
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题