監(jiān)聽圖的鼠標(biāo)移動事件,拿到選中的label對應(yīng)的索引值,拿索引方法和我的實(shí)現(xiàn)x軸高亮第二種方法一樣,使用echarts自帶的API實(shí)現(xiàn)浮窗的觸發(fā),只是需要判定一下鼠標(biāo)選中的目標(biāo)對象,具體操作如下:
myChart.getZr().on(“mousemove”, function(e){
? ? // 獲取當(dāng)前索引
? ? let index= [e.offsets, e.offsetY]
? ? let pointGrid= myChart.convertFromPixel({seriesIndex: 0}, index)
? ? let selectedIndex= pointGrid[0]
具體判定邏輯根據(jù)自己實(shí)際情況書寫
? if(e.target && e.target.name && e.target.name ==“item” || (e.target && e.target.type && e.target.type ==“image”) || (e.target && e.target.currentStates.length !== 0)){
參數(shù)解釋可以參考echarts官方文檔
myChart.dispatchAction({
? ? type: “showTip”, //這里是觸發(fā)浮窗,高亮只需要將這個值改成? highlight, 取消高亮就改成 downplay
? ? seriesIndex: 0,
? ? dataIndex: selectedIndex
? })
}
})