最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用echarts餅狀圖label既在內(nèi)部顯示數(shù)值(百分比),又顯示外部指示線

 更新時(shí)間:2024年03月13日 15:47:30   作者:小劉加油!  
這篇文章主要介紹了使用echarts餅狀圖label既在內(nèi)部顯示數(shù)值(百分比),又顯示外部指示線問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

需求

項(xiàng)目開發(fā)中,產(chǎn)品經(jīng)理繪制的原型圖中,需要前端實(shí)現(xiàn)一個(gè)餅狀圖,且既在餅圖內(nèi)部中 顯示 百分比,又顯示 外部指示線及數(shù)值

效果如下圖所示:

查了下Echarts官網(wǎng)文檔

需要配置 series 下的 label 配置項(xiàng)

如下所示:

series: [
	label: {
		normal: {
			position: 'inside' // 在內(nèi)部顯示,outseide 是在外部顯示
			show: true,
			formatter: '{c}  // formatter 是標(biāo)簽內(nèi)容的格式器,用于轉(zhuǎn)換格式。支持 字符串和回調(diào)函數(shù)兩種形式。
		}
	}
	
]

其中,formatter 是標(biāo)簽內(nèi)容的格式器,用于轉(zhuǎn)換格式。

支持 字符串和回調(diào)函數(shù)兩種形式。

{c} 代辦字符串模板變量,表示數(shù)據(jù)值,常用的模板變量有:

  • { a }:系列名
  • { b }:數(shù)據(jù)名
  • { c }:數(shù)據(jù)值
  • { d }:百分比

問題來了

echarts 好像沒法直接配置成 內(nèi)部+外部 同時(shí)展示的情況。

因?yàn)樵?strong>單個(gè)的 series 中(即其中的一個(gè)對(duì)象中),只能設(shè)置一個(gè)label。

不過也好解決

通過查看 echarts 官網(wǎng) series 配置項(xiàng),可以看出,series 是一個(gè)數(shù)組(如上圖所示),既然單個(gè)中只能出現(xiàn)一個(gè),那么我配置成 2個(gè)(多個(gè))相同的對(duì)象,讓他們重合,就會(huì)出現(xiàn)兩個(gè) label 標(biāo)簽,一個(gè)在內(nèi)部展示,一個(gè)在外部展示,就可以完美解決這種情況。

代碼實(shí)例如下所示:

series: [
                {
                    type: 'pie',
                    radius: '90%',
                    data: [
                        { value: data?.winBidNumber || 0, name: '中標(biāo)數(shù)量' },
                        { value: data?.loseBidNumber || 0, name: '未中標(biāo)數(shù)量' },
                        { value: data?.abandonBidNumber || 0, name: '棄標(biāo)數(shù)量' }
                    ],
                    labelLine: {
                        show: true,
                        position: 'outside',
                        length: 10,
                        length2: 50
                    },
                    emphasis: {
                        itemStyle: {
                            shadowBlur: 10,
                            shadowOffsetX: 0,
                            shadowColor: 'rgba(0, 0, 0, 0.5)'
                        }
                    },
                    label: {
                        normal: {
                            position: 'outside',
                            show: true,
                            formatter: (d: any) => {
                                console.log(222, d);
                                return d.name + '(' +  d.value  + '次' +')'
                            }
                        }
                    }
                },
                {
                    type: 'pie',
                    radius: '90%',
                    data: [
                        { value: data?.winBidNumber || 0, name: '中標(biāo)數(shù)量' },
                        { value: data?.loseBidNumber || 0, name: '未中標(biāo)數(shù)量' },
                        { value: data?.abandonBidNumber || 0, name: '棄標(biāo)數(shù)量' }
                    ],
                    emphasis: {
                        itemStyle: {
                            shadowBlur: 10,
                            shadowOffsetX: 0,
                            shadowColor: 'rgba(0, 0, 0, 0.5)'
                        }
                    },
                    label: {
                        normal: {
                            position: 'inside',
                            show: true,
                            formatter: (d: any) => {
                                return d.percent + '%'
                            }
                        }
                    }
                }
            ]

其中, labelLine 屬性 是 用來配置 外部指示線(第一段、第二段)的長度及樣式的。

formatter 為 回調(diào)函數(shù)的寫法如上面的代碼實(shí)例,該回調(diào)函數(shù)接收一個(gè)參數(shù),該參數(shù)的值包含了 模板字符串變量所擁有的值

如下圖打印的所示:

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • JavaScript 學(xué)習(xí)筆記(四)

    JavaScript 學(xué)習(xí)筆記(四)

    今天繼續(xù)學(xué)習(xí)JS中的對(duì)象,昨天學(xué)完了本地對(duì)象中的兩個(gè)重要對(duì)象Array和Date。今天看下內(nèi)置對(duì)象Global對(duì)象和Math對(duì)象。
    2009-12-12
  • 用javascript取得傳遞參數(shù)的個(gè)數(shù)的代碼

    用javascript取得傳遞參數(shù)的個(gè)數(shù)的代碼

    用javascript取得傳遞參數(shù)的個(gè)數(shù)的代碼...
    2007-10-10
  • 多瀏覽器兼容的動(dòng)態(tài)加載 JavaScript 與 CSS

    多瀏覽器兼容的動(dòng)態(tài)加載 JavaScript 與 CSS

    Omar AL Zabir這位MVP總是喜歡搞些稀奇古怪同時(shí)又很實(shí)用的小東西,并且還十分值得參考。最近他就做了一個(gè)叫做ensure的小工具用于動(dòng)態(tài)加載JavaScript、CSS與HTML,而且IE、Firefox、Opera、Safari都支持了,那么我們就來看看ensure是如何做到動(dòng)態(tài)加載JavaScript與CSS的。
    2008-09-09
  • JS通過URL下載文件并重命名兩種方式代碼

    JS通過URL下載文件并重命名兩種方式代碼

    前端下載文件方法很多,url是文件地址,下面這篇文章主要給大家介紹了關(guān)于JS通過URL下載文件并重命名的兩種方式,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-11-11
  • JavaScript內(nèi)存管理從入門到精通的完整指南

    JavaScript內(nèi)存管理從入門到精通的完整指南

    JavaScript是一種常用的編程語言,盡管JavaScript的語法簡單易懂,但其內(nèi)存管理機(jī)制卻是開發(fā)者需要深入了解的重要方面,本文將詳細(xì)探討JavaScript的內(nèi)存管理從入門到精通,需要的朋友可以參考下
    2025-08-08
  • js獲取本機(jī)的外網(wǎng)/廣域網(wǎng)ip地址完整源碼

    js獲取本機(jī)的外網(wǎng)/廣域網(wǎng)ip地址完整源碼

    通過js獲取本機(jī)的外網(wǎng)和廣域網(wǎng)ip地址的方法有很多,本文為大家介紹個(gè)不錯(cuò)的方法,希望對(duì)大家有所幫助
    2013-08-08
  • js實(shí)現(xiàn)點(diǎn)擊添加一個(gè)input節(jié)點(diǎn)

    js實(shí)現(xiàn)點(diǎn)擊添加一個(gè)input節(jié)點(diǎn)

    本文給大家分享的是一段點(diǎn)擊自動(dòng)添加inpu節(jié)點(diǎn)的代碼,非常的簡單實(shí)用,這里推薦給大家。
    2014-12-12
  • 通過location.replace禁止瀏覽器后退防止重復(fù)提交

    通過location.replace禁止瀏覽器后退防止重復(fù)提交

    如果用戶重復(fù)提交事件,然后又后退,這樣可能會(huì)對(duì)某些數(shù)據(jù)產(chǎn)生災(zāi)難性的問題。所以今天就向大家介紹一種通過location.replace禁止瀏覽器后退按鈕的方法
    2014-09-09
  • 深入理解redux之compose的具體應(yīng)用

    深入理解redux之compose的具體應(yīng)用

    這篇文章主要介紹了深入理解redux之compose的具體應(yīng)用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • 微信小程序?qū)崿F(xiàn)搜索框功能

    微信小程序?qū)崿F(xiàn)搜索框功能

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)搜索框功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11

最新評(píng)論

平遥县| 泰顺县| 丽江市| 灵寿县| 泉州市| 垫江县| 舟山市| 大安市| 乐都县| 乐东| 肇庆市| 巴彦淖尔市| SHOW| 韶山市| 沭阳县| 浦县| 雷山县| 卓尼县| 蒙自县| 普宁市| 道孚县| 基隆市| 乌兰县| 进贤县| 唐海县| 阜城县| 永仁县| 萨迦县| 阜城县| 察哈| 龙江县| 清丰县| 元朗区| 霞浦县| 达拉特旗| 综艺| 宁陕县| 阳山县| 那曲县| 庆阳市| 汝阳县|