本篇总结了一下我遇到的问题与情况,结合了互联网大佬们智慧的结晶,如有雷同,不是剽窃~
异常竖线的样子:(异常竖线千奇百怪,有的是从上贯穿到下,有的像这种,是因为从上一组图形数据直接绘制 转变下一组图形数据时产生的bug)
其实原本图形是这样的。
解决办法1:适用于没有设置过如下两个属性的情况
yAxis: {
min:'dataMin',
max:'dataMax',
}
在datazoom中增加 filterMode:'empty'
dataZoom: [
{
show: true,
realtime: true,
type: 'inside',
start: 30,
end: 100,
filterMode: 'empty',//这句!!!!!!!
},
{
// type: 'inside',
realtime: true,
filterMode: 'empty',
height:25,
handleIcon: 'M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4v1.3h1.3v-1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7V23h6.6V24.4z M13.3,19.6H6.7v-1.4h6.6V19.6z',
handleSize: '80%',
handleStyle: {
color: '#fff',
shadowBlur: 3,
shadowColor: 'rgba(0, 0, 0, 0.6)',
shadowOffsetX: 2,
shadowOffsetY: 2
},
}
],
解决办法2:适用于设置过yAxis的min和max属性的情况。
原本是注释那两行即可绘制图形,修改后是后面5行。原理是每次数据改变都重新从头绘制,从源头避免异常竖线的产生。
// chart.setOption(option);
// return chart;
let temp = chart;//临时存储Chart的属性
chart.clear();
chart = temp;
chart.setOption(option);
return chart;