第一個問題:echarts 能夠自定義圖例的圖標,百度上不少回答都是引用的相對路徑,可是不知道爲啥,個人vue項目就是引用不顯示,在network裏面找不到相應圖片前端
後來我想了個法子,就是先獲取到這個圖片,而後複製它的dataURL 也就是在網頁上解析以後的圖片路徑,就能正常顯示了——————至於緣由,emmmmmmmm……vue
第二個問題:echarts 自定義圖例的圖標成功後,點擊會顯示關閉的功能(我是這樣理解的);要實現點擊顏色變淺而且實現關閉功能,通過我和我另外一個前端同事總結出了兩種方法,echarts
第一種,繪製svg圖片,在阿里巴巴圖標庫上製做新的svg圖片下載,下載的包裏面會有一個iconxx,svg 獲取到路徑,寫在icon:'path://',echarts會自動識別這個圖例圖片,好處是圖片也不須要上傳,svg
而且echarts本身會處理顏色變化,我的以爲多是echarts圖例的實現原理也是這樣的,可是沒看到原碼——這是我同事的實現方式this
第二種,寫個自定義的png圖片,利用icon:icon ,data:{事件
icon:''xxxxxxxx.png圖片
},。利用echarts的點擊選擇圖例事件觸發get
代碼以下: var myChart = echarts.init(this.$refs.xxxx);it
myChart.on('legendselectchanged',function(params){io
var name = params.name;
if(name === '主動風險'){
if(!params.selected[name]){
this.icon = 'aaaaaaa.png';
mychart.setOption(self.getOption(data))
}else{
this.icon = 'xxxxxx.png';
mychart.setOption(self.getOption(data))
}
}
})
暫時自定義需求只有一個圖標須要處理,若是多的話,能夠自定去寫個公共方法封裝一下,應該也是能夠的