Echarts 自定義legend圖片,修改點擊以後的顏色圖解

第一個問題: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))


                }

              }

            })

暫時自定義需求只有一個圖標須要處理,若是多的話,能夠自定去寫個公共方法封裝一下,應該也是能夠的