在vue中 echarts图把option这个在data中声明,不使用组件,实现在折线图中当鼠标悬浮在其中某一个折线上时,y轴得刻度线最要符合这条折线所显示得值
时间: 2024-03-05 20:52:23 浏览: 83
vue+echarts实现动态折线图的方法与注意
5星 · 资源好评率100%
在vue中,可以在mounted钩子函数中使用echarts实例的on方法,监听鼠标移动事件,然后根据事件的坐标值,使用echarts实例的convertFromPixel方法,将坐标值转换为图表中的坐标系值,然后再通过setOption方法更新图表的y轴刻度,使其符合鼠标所在折线的值。
具体的代码如下:
```javascript
mounted() {
this.chart = echarts.init(this.$refs.chart)
this.chart.setOption(this.option)
// 监听鼠标移动事件
this.chart.on('mousemove', (params) => {
if (params.componentType === 'series') {
const yAxisIndex = params.seriesIndex // y轴的索引
const yAxisValue = params.value // y轴的值
// 根据坐标值获取图表中的坐标系值
const pointInPixel = [params.event.offsetX, params.event.offsetY]
const pointInGrid = this.chart.convertFromPixel({ gridIndex: 0 }, pointInPixel)
const xAxisValue = pointInGrid[0]
// 更新y轴的刻度
const option = this.chart.getOption()
option.yAxis[yAxisIndex].max = yAxisValue
this.chart.setOption(option, true)
}
})
}
```
其中,mounted钩子函数中初始化echarts实例,然后设置图表的option。然后监听图表的mousemove事件,判断是否是在折线上移动,如果是,则根据坐标值获取图表中的坐标系值,并更新y轴的刻度。最后,使用chart.setOption方法更新图表的option。
阅读全文