Echarts實(shí)例教程之樹(shù)形圖表的實(shí)現(xiàn)方法
樹(shù)圖主要用來(lái)可視化樹(shù)形數(shù)據(jù)結(jié)構(gòu),是一種特殊的層次類型。
實(shí)現(xiàn)方法,將series->type設(shè)置為tree。
Echarts的樹(shù)形圖表,可以是正交的,也可以是徑向的。
正交樹(shù):
徑向樹(shù):
實(shí)現(xiàn)方法,修改:series->layout設(shè)置,orthogonal為正向,radial為徑向。
可以自定義,如從右向左:
實(shí)現(xiàn)方法,修改:series->orient設(shè)置,支持LR、RL、TB、BT,其中RL,就是從右向左。
可以自定義圖標(biāo):支持'circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow', 'none'
實(shí)現(xiàn)方法,修改:series->symbol設(shè)置
圖標(biāo)是方形的樹(shù)形圖表:
可以自定義,直線還是曲線:
實(shí)現(xiàn)方法,修改:series->edgeShape設(shè)置,支持curve 和 polyline
直線圖表:
initialTreeDepth:
默認(rèn)展開(kāi)的深度,默認(rèn)為2,多于2層的的節(jié)點(diǎn)可以點(diǎn)擊父節(jié)點(diǎn)來(lái)展示和隱藏。如果設(shè)置為 -1 或者 null 或者 undefined,所有節(jié)點(diǎn)都將展開(kāi)。
itemStyle:
修改樹(shù)形圖表項(xiàng)的樣式。
可以修改顏色、大小等
label:
圖表項(xiàng)中文字的處理。
可以通過(guò)formatter來(lái)給圖表的文字增加豐富的效果。
lineStyle:
圖表中線的處理。
修改lineStyle樣式的效果:
emphasis: 聚焦,設(shè)置了聚焦后,鼠標(biāo)放到項(xiàng),其他無(wú)關(guān)項(xiàng)就會(huì)暫時(shí)隱藏。
'none' 不淡出其它圖形,默認(rèn)使用該配置。
'self' 只聚焦(不淡出)當(dāng)前高亮的數(shù)據(jù)的圖形。
'series' 聚焦當(dāng)前高亮的數(shù)據(jù)所在的系列的所有圖形。
'ancestor' 聚焦所有祖先節(jié)點(diǎn)
'descendant' 聚焦所有子孫節(jié)點(diǎn)
emphasis: { focus: 'ancestor', blurScope: 'coordinateSystem' }
樹(shù)形圖表的數(shù)據(jù)結(jié)構(gòu):
name: 圖表項(xiàng)默認(rèn)項(xiàng)顯示的名稱
children: 這個(gè)項(xiàng)的子節(jié)點(diǎn)
當(dāng)然,你在數(shù)據(jù)里可以定義任意屬性,如value、num等,可以配合label中的formatter來(lái)實(shí)現(xiàn)更加豐富的顯示效果。
最后是完整的代碼:
index.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Echarts實(shí)例 - 圖例</title> <script src="../../echarts.js"></script> </head> <body> <div id="container" style="width: 500px;height:500px;"> </div> <script src="./index.js"></script> </body> </html>
index.js
var chart = echarts.init(document.getElementById("container")); var data = { name: 'Throwable', children: [{ name: 'Error', children: [{ name: 'VirtualMachineError', children: [{ name: 'StackOverflowError' }, { name: 'OutOfMemoryError' }] }, { name: 'AWTError' }] }, { name: 'Exception' }] } var data2 = { name: '龍珠人物', children: [{ name: '孫悟空' }, { name: '布爾瑪' }, { name: '豬悟能' }, { name: '雅木茶' }, { name: '龜仙人' }, { name: '小林' }, { name: '短笛' }, { name: '鶴仙人' }, { name: '天津飯' }, { name: '餃子' }] } chart.setOption({ title: { text: 'Java異常結(jié)構(gòu)圖' }, series: [{ layout: 'orthogonal', data: [data], right: '60%', type: 'tree', edgeShape: 'polyline', // curve 和 polyline symbol: 'rect', // 'circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow', 'none', initialTreeDepth: 2, itemStyle: { color: 'cyan' }, lineStyle: { color: 'red' }, /** * * * 'none' 不淡出其它圖形,默認(rèn)使用該配置。 'self' 只聚焦(不淡出)當(dāng)前高亮的數(shù)據(jù)的圖形。 'series' 聚焦當(dāng)前高亮的數(shù)據(jù)所在的系列的所有圖形。 'ancestor' 聚焦所有祖先節(jié)點(diǎn) 'descendant' 聚焦所有子孫節(jié)點(diǎn) */ emphasis: { focus: 'ancestor', blurScope: 'coordinateSystem' }, }, { layout: 'radial', left: '60%', data: [data2], type: 'tree', symbol: 'rect', symbolSize: 15 }] })
總結(jié)
到此這篇關(guān)于Echarts實(shí)例教程之樹(shù)形圖表實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Echarts實(shí)現(xiàn)樹(shù)形圖表內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Javascript中的window.event.keyCode使用介紹
我們之前發(fā)過(guò)不少關(guān)于event.keyCode相關(guān)的文章,大家都可以參考下。2011-04-04JavaScript DOM節(jié)點(diǎn)操作方法總結(jié)
下面小編就為大家?guī)?lái)一篇JavaScript DOM節(jié)點(diǎn)操作方法總結(jié)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-08-08高性能JavaScript循環(huán)語(yǔ)句和條件語(yǔ)句
這篇文章主要為大家介紹了高性能JavaScript循環(huán)語(yǔ)句和條件語(yǔ)句,感興趣的小伙伴們可以參考一下2016-01-01JavaScript實(shí)現(xiàn)創(chuàng)建自定義對(duì)象的常用方式總結(jié)
這篇文章主要介紹了JavaScript實(shí)現(xiàn)創(chuàng)建自定義對(duì)象的常用方式,結(jié)合實(shí)例形式總結(jié)分析了JavaScript工廠模式、構(gòu)造函數(shù)模式、原型模式、組合模式等常用的自定義對(duì)象創(chuàng)建模式操作與使用技巧,需要的朋友可以參考下2018-07-07微信開(kāi)發(fā) js實(shí)現(xiàn)tabs選項(xiàng)卡效果
這篇文章主要介紹了微信開(kāi)發(fā)的學(xué)習(xí)筆記,js實(shí)現(xiàn)tabs選項(xiàng)卡效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-10-10JavaScript的設(shè)計(jì)模式經(jīng)典之代理模式
代理模式的定義是把對(duì)一個(gè)對(duì)象的訪問(wèn), 交給另一個(gè)代理對(duì)象來(lái)操作。接下來(lái)通過(guò)本文給大家介紹JavaScript的設(shè)計(jì)模式之代理模式,感興趣的朋友一起學(xué)習(xí)吧2016-02-02原生JS封裝拖動(dòng)驗(yàn)證滑塊的實(shí)現(xiàn)代碼示例
這篇文章主要介紹了原生JS封裝拖動(dòng)驗(yàn)證滑塊的實(shí)現(xiàn)代碼示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06