echarts实现折线图标记点的拖拽
实现步骤
- 正常绘制折线图
-在折线图的所有标记点位置绘制原生图形 - 为原生图形绑定鼠标事件:
- 拖拽时,将原生图形的位置赋予标记点
- 鼠标移动时,显示提示
- 鼠标抬起时,隐藏提示
const symbolSize = 20;const data = [[0,0], [20, 20], [40,40]];const myChart = echarts.init(document.getElementById('main'));myChart.setOption({tooltip: {triggerOn: 'none',formatter: function (params) {return Math.round(params.data[0]) + ' , ' + Math.round(params.data[1]);}},xAxis: {min: 0,max: 50,type: 'value',},yAxis: {min: 0,max: 50,type: 'value',},series: [{id: 'a',type: 'line',smooth: true,symbolSize: symbolSize,data: data,}],});const graphic=data.map((ele,ind)=>{return {type: 'circle',position: myChart.convertToPixel('grid', ele),shape: {r: symbolSize / 2},draggable: true,ondrag: echarts.util.curry(onPointDragging, ind),onmousemove: echarts.util.curry(showTooltip, ind),onmouseout: echarts.util.curry(hideTooltip, ind),z: 100};});myChart.setOption({graphic});function onPointDragging(dataIndex) {data[dataIndex] = myChart.convertFromPixel('grid', this.position);myChart.setOption({series: [{id: 'a',data: data}]});}function showTooltip(dataIndex) {myChart.dispatchAction({type: 'showTip',seriesIndex: 0,dataIndex: dataIndex});}function hideTooltip(dataIndex) {myChart.dispatchAction({type: 'hideTip'});}
- 如图:三点可以任意托拽,,,哈哈哈哈哈

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!