日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

echarts:实现legend中的textBorderColor动态改变问题

發布時間:2023/12/18 编程问答 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 echarts:实现legend中的textBorderColor动态改变问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

實現目標:legend和柱狀圖結合。效果圖:

從上圖中可以看出,不同legend對應的文字的顏色都是白色,但是文字描邊的顏色卻是和圖例的顏色是相同的,echarts的配置文件如下:

顯然,textBorderColor并不支持函數調用,因此 ,為實現動態顏色描邊的功能,需要使用另外的方法。

這里結合使用legend.textStyle.rich和legend.formatter,legend的配置如下:

legend: {data: [],type: 'scroll',orient: 'vertical',left: '3%',textStyle: {color: '#ffffff',textBorderWidth: 2,rich: {}},formatter: function (name){let index = LEGEND.indexOf(name);let border = `color${index}`;return `{${border}|${name}}`;}, }

?動態為rich填充數據:

//使用rich,來動態展示legend.title 以不同的顏色描邊for (let i = 0;i < COLOR_LIST.length;i++){let key = 'color' + i;option.legend.textStyle.rich[key] = {textBorderColor: COLOR_LIST[i]}}

?令顏色存儲在COLOR_LIST數組中,遍歷COLOR_LIST數組,那么rich中的數據大致如下:

rich :{color0: {textBorderColor: '#2c7be5'},//... }

?至此,rich中配置了不同顏色描邊的富文本樣式,那么再配合formatter:

formatter: function (name){let index = LEGEND.indexOf(name);let border = `color${index}`;return `{${border}|${name}}`;},

?通過判斷傳遞的name在legend.data中的索引,構造key,得到{${border}|${name}},通過反引號,假設index=0,那么js會解釋為{color0|電子器件制造}。

注:textBorderWidth必須要設置一個值,否則會出現問題。

總結

以上是生活随笔為你收集整理的echarts:实现legend中的textBorderColor动态改变问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。