我的柱状图画图函数里根据legend的数量动态定义了柱子的颜色
if (legendData.length == 2) {
colorArray = ['#25f3e6', '#f36f8a'];
}
if (legendData.length == 4) {
colorArray = ['#6495ED', '#FFFF43','#25f3e6', '#f36f8a'];
}
if (legendData.length == 6) {
colorArray = ['#9370DB', '#FAEBD7','#6495ED', '#FFFF43', '#25f3e6', '#f36f8a'];
}
,然后option里调用了这个颜色数组 color: colorArray,
一开始运行正常,凡是发现切换了10来次后柱子的颜色就乱了,而且没什么规律,并不按照colorArray的顺序显示了。
解决方法:每次画图之前先调用 $("#你的画布名称").removeAttr("_echarts_instance_").empty()属性来清除上次的属性
注意:原来的画图函数里的myChart.setOption(option, true);也加了true,然而并不能避免这个问题,只能解决不跟上次画的图重叠的问题。