ECharts 教程
旭日圖(Sunburst)由多層的環(huán)形圖組成,在數(shù)據(jù)結(jié)構(gòu)上,內(nèi)圈是外圈的父節(jié)點。因此,它既能像餅圖一樣表現(xiàn)局部和整體的占比,又能像矩形樹圖一樣表現(xiàn)層級關(guān)系。
ECharts 創(chuàng)建旭日圖很簡單,只需要在 series 配置項中聲明類型為 sunburst 即可,data 數(shù)據(jù)結(jié)構(gòu)以樹形結(jié)構(gòu)聲明,看下一個簡單的實例:
默認情況下會使用全局調(diào)色盤 color 分配最內(nèi)層的顏色,其余層則與其父元素同色。
在旭日圖中,扇形塊的顏色有以下三種設(shè)置方式:
上述三者的優(yōu)先級是從高到低的,也就是說,配置了 series.data.itemStyle 的扇形塊將會覆蓋 series.levels.itemStyle 和 series.itemStyle 的設(shè)置。
下面,我們將整體的顏色設(shè)為灰色 #aaa,將最內(nèi)層的顏色設(shè)為藍色 blue,將 Aa、B 這兩塊設(shè)為紅色 red。
按層配置樣式是一個很常用的功能,能夠很大程度上提高配置的效率。
旭日圖默認支持數(shù)據(jù)下鉆,也就是說,當點擊了扇形塊之后,將以該扇形塊的數(shù)據(jù)作為根節(jié)點,進一步顯示該數(shù)據(jù)的細節(jié)。
在數(shù)據(jù)下鉆后,圖形的中間會出現(xiàn)一個用于返回上一層的圖形,該圖形的樣式可以通過 levels[0] 配置。
如果不需要數(shù)據(jù)下鉆功能,可以通過將 nodeClick 設(shè)置為 false 來關(guān)閉,也可以設(shè)為 'link',并將 data.link 設(shè)為點擊扇形塊對應(yīng)打開的鏈接。
旭日圖支持鼠標移動到某扇形塊時,高亮相關(guān)數(shù)據(jù)塊的操作,可以通過設(shè)置 highlightPolicy,包括以下幾種高亮方式:
上面提到的"高亮",對于鼠標所在的扇形塊,會使用 emphasis 樣式;對于其他相關(guān)扇形塊,則會使用 highlight 樣式。通過這種方式,可以很方便地實現(xiàn)突出顯示相關(guān)數(shù)據(jù)的需求。
具體來說,對于配置項:
itemStyle: { color: 'yellow', borderWidth: 2, emphasis: { color: 'red' }, highlight: { color: 'orange' }, downplay: { color: '#ccc' } }
highlightPolicy 為 'descendant':
highlightPolicy 為 'ancestor' :
更多旭日圖配置參考:https://www.echartsjs.com/zh/option.html#series-sunburst