我的柱狀圖畫圖函數里根據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,然而並不能避免這個問題,只能解決不跟上次畫的圖重疊的問題。