在echarts折线图使用过程中,我们会遇到折线拐点symbol的问题。这个问题是在版本3.8.5引用时发现的。折线图在支持legend显示的情况下需要考虑。
问题描述如下:如果采用echarts提供的symbol类型方式做拐点,且拐点为自定义图片。当你支持legend的点击事件时,会发现某个legend被取消之后,再次选中,折线上面的symbol图片并没有被再次渲染上去。当你重新刷新之后,又会是正常的。
1.echarts提供的symbol类型做拐点的写法如下:
var serieData = []; ...... for(var v=0; v < legendData.length ; v++){ var serie = { name:legendData[v], type: 'line', symbol:"circle", symbolSize:10, data: metaDate[v] }; serieData.push(serie) } var option = { ....... series:serieData };
symbol做拐点,可以把指定类型换做图片。鼠标移上去之后,item默认会有放大的效果。但是就会出现上述问题。
2.采用markPoint做拐点,会解决上述问题,但是鼠标移上item就没有放大效果了。
seriesArr.push({ name: dataKinds[ind], type:'line', data:item, symbolSize:0, markPoint:{ symbol: `image://${_point[pth]}`, symbolSize:(value,params)=>{ let val = params.data.coord[1] +''; let ratio = (maxArr.indexOf(val) === params.seriesIndex)? 30: 20; return ratio }, label:{ normal:{ show:false } }, data:_markPoint[ind] }, lineStyle:{ normal:{ color: colors[pth], shadowColor:colors[pth], shadowBlur: 20, shadowOffsetX: 1, shadowOffsetY: 0, opacity:1 } }, })
以上是主要代码。
这个是我自己写的例子链接:https://gallery.echartsjs.com/editor.html?c=xSxeKHdXJT,如果对您有帮助,点个赞给点鼓励吧~