Echarts实例教程之树形图表的实现⽅法
树图主要⽤来可视化树形数据结构,是⼀种特殊的层次类型。
实现⽅法,将series->type设置为tree。
Echarts的树形图表,可以是正交的,也可以是径向的。
正交树:
径向树:
实现⽅法,修改:series->layout设置,orthogonal为正向,radial为径向。
可以⾃定义,如从右向左:
实现⽅法,修改:series->orient设置,⽀持LR、RL、TB、BT,其中RL,就是从右向左。
可以⾃定义图标:⽀持'circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow', 'none'
实现⽅法,修改:series->symbol设置
图标是⽅形的树形图表:
可以⾃定义,直线还是曲线:
实现⽅法,修改:series->edgeShape设置,⽀持curve 和 polyline
直线图表:
initialTreeDepth:
默认展开的深度,默认为2,多于2层的的节点可以点击⽗节点来展⽰和隐藏。如果设置为 -1 或者 null 或者 undefined,所有节点都将展开。
itemStyle:
修改树形图表项的样式。
可以修改颜⾊、⼤⼩等
label:
图表项中⽂字的处理。
可以通过formatter来给图表的⽂字增加丰富的效果。
lineStyle:
图表中线的处理。
修改lineStyle样式的效果:
emphasis:聚焦,设置了聚焦后,⿏标放到项,其他⽆关项就会暂时隐藏。
'none' 不淡出其它图形,默认使⽤该配置。
'self' 只聚焦(不淡出)当前⾼亮的数据的图形。
'series' 聚焦当前⾼亮的数据所在的系列的所有图形。
'ancestor' 聚焦所有祖先节点
'descendant' 聚焦所有⼦孙节点
emphasis: {
focus: 'ancestor',
blurScope: 'coordinateSystem'
}
树形图表的数据结构:
name: 图表项默认项显⽰的名称
children:这个项的⼦节点
当然,你在数据⾥可以定义任意属性,如value、num等,可以配合label中的formatter来实现更加丰富的显⽰效果。最后是完整的代码:
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实例 - 图例</title>
<script src="../../echarts.js"></script>
</head>
<body>
<div id="container" >
</div>
<script src="./index.js"></script>
</body>
</html>
index.js
var chart = echarts.ElementById("container"));
var data = {
name: 'Throwable',
children: [{
name: 'Error',
children: [{
name: 'VirtualMachineError',
children: [{
name: 'StackOverflowError'
setoption
}, {
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异常结构图'
},
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' 不淡出其它图形,默认使⽤该配置。
'self' 只聚焦(不淡出)当前⾼亮的数据的图形。
'series' 聚焦当前⾼亮的数据所在的系列的所有图形。
'ancestor' 聚焦所有祖先节点
'descendant' 聚焦所有⼦孙节点
*/
emphasis: {
focus: 'ancestor',
blurScope: 'coordinateSystem'
},
}, {
layout: 'radial',
left: '60%',
data: [data2],
type: 'tree',
symbol: 'rect',
symbolSize: 15
}]
})
总结
到此这篇关于Echarts实例教程之树形图表实现的⽂章就介绍到这了,更多相关Echarts实现树形图表内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!