Echarts實(shí)例教程之樹形圖表的實(shí)現(xiàn)方法
樹圖主要用來可視化樹形數(shù)據(jù)結(jié)構(gòu),是一種特殊的層次類型。
實(shí)現(xiàn)方法,將series->type設(shè)置為tree。
Echarts的樹形圖表,可以是正交的,也可以是徑向的。
正交樹:

徑向樹:

實(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í)現(xiàn)方法,修改:series->edgeShape設(shè)置,支持curve 和 polyline
直線圖表:

initialTreeDepth:
默認(rèn)展開的深度,默認(rèn)為2,多于2層的的節(jié)點(diǎn)可以點(diǎn)擊父節(jié)點(diǎn)來展示和隱藏。如果設(shè)置為 -1 或者 null 或者 undefined,所有節(jié)點(diǎn)都將展開。
itemStyle:
修改樹形圖表項(xiàng)的樣式。
可以修改顏色、大小等
label:
圖表項(xiàng)中文字的處理。
可以通過formatter來給圖表的文字增加豐富的效果。
lineStyle:
圖表中線的處理。
修改lineStyle樣式的效果:

emphasis: 聚焦,設(shè)置了聚焦后,鼠標(biāo)放到項(xiàng),其他無關(guān)項(xiàng)就會暫時隱藏。
'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ù)據(jù)結(jié)構(gòu):
name: 圖表項(xiàng)默認(rèn)項(xiàng)顯示的名稱
children: 這個項(xiàng)的子節(jié)點(diǎn)
當(dāng)然,你在數(shù)據(jù)里可以定義任意屬性,如value、num等,可以配合label中的formatter來實(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í)現(xiàn)的文章就介紹到這了,更多相關(guān)Echarts實(shí)現(xiàn)樹形圖表內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
layui復(fù)選框的全選與取消實(shí)現(xiàn)方法
今天小編就為大家分享一篇layui復(fù)選框的全選與取消實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09
JavaScript實(shí)現(xiàn)點(diǎn)擊改變圖片形狀(transform應(yīng)用)
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)點(diǎn)擊改變圖片形狀,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-04-04
JS Thunk 函數(shù)的含義和用法實(shí)例總結(jié)
這篇文章主要介紹了JS Thunk 函數(shù)的含義和用法,結(jié)合實(shí)例形式總結(jié)分析了JS Thunk 函數(shù)的具體含義、用法及操作注意事項(xiàng),需要的朋友可以參考下2020-04-04
javascript實(shí)現(xiàn)簡單的省市區(qū)三級聯(lián)動
本文給大家反映的是javascript實(shí)現(xiàn)的簡單的省市區(qū)三級聯(lián)動特效,不需要訪問后臺服務(wù)器端,不使用Ajax,無刷新,純JS實(shí)現(xiàn)的省市區(qū)三級聯(lián)動。當(dāng)省市區(qū)數(shù)據(jù)變動是只需調(diào)正js即可。2015-05-05
微信小程序開發(fā)之?dāng)?shù)據(jù)存儲 參數(shù)傳遞 數(shù)據(jù)緩存
本文主要介紹了微信小程序開發(fā)之?dāng)?shù)據(jù)存儲、參數(shù)傳遞、數(shù)據(jù)緩存的相關(guān)知識。具有很好的參考價(jià)值。下面跟著小編一起來看下吧2017-04-04
JS實(shí)現(xiàn)點(diǎn)擊復(fù)選框變更DIV顯示狀態(tài)的示例代碼
下面小編就為大家分享一篇JS實(shí)現(xiàn)點(diǎn)擊復(fù)選框變更DIV顯示狀態(tài)的示例代碼,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2017-12-12

