echarts实现人物关系力导向图
时间: 2023-12-07 22:05:48 浏览: 156
echarts 关系图.docx
人物关系力导向图是一种图表形式,用于展示多个人物之间的关系。它可以用于社交网络分析、组织架构分析、知识图谱等领域。在echarts中,可以使用graph组件实现人物关系力导向图。
以下是实现人物关系力导向图的步骤:
1. 引入echarts库和graph组件
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>人物关系力导向图</title>
<script src="https://cdn.jsdelivr.net/npm/echarts@5.2.2/dist/echarts.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/echarts-gl@1.1.4/dist/echarts-gl.min.js"></script>
</head>
<body>
<div id="main" style="width: 100%;height: 800px;"></div>
<script>
// 引入graph组件
echarts.use([require('echarts/chart/graph'), require('echarts/chart/lines')]);
</script>
</body>
</html>
```
2. 准备数据
```javascript
var data = {
nodes: [
{ name: '张三', category: 0 },
{ name: '李四', category: 1 },
{ name: '王五', category: 1 },
{ name: '赵六', category: 2 },
{ name: '钱七', category: 2 },
{ name: '孙八', category: 2 },
],
links: [
{ source: 0, target: 1 },
{ source: 0, target: 2 },
{ source: 1, target: 3 },
{ source: 1, target: 4 },
{ source: 2, target: 5 },
]
};
```
nodes数组表示每个人物,包括姓名和所属类别(用于分类显示)。links数组表示人物之间的关系,每个关系由source和target表示,分别指向源节点和目标节点。
3. 配置echarts选项
```javascript
var option = {
tooltip: {},
legend: {
data: ['同事', '朋友', '亲戚']
},
series: [
{
type: 'graph',
layout: 'force',
symbolSize: 50,
roam: true,
label: {
show: true,
position: 'right',
formatter: '{b}'
},
force: {
repulsion: 100
},
data: data.nodes,
links: data.links,
categories: [
{ name: '同事' },
{ name: '朋友' },
{ name: '亲戚' }
]
}
]
};
```
其中,type为graph表示使用graph组件,layout为force表示使用力导向布局。symbolSize表示节点大小,roam表示是否开启拖拽和缩放。label表示节点标签,formatter为标签格式化函数。force表示力导向布局的参数,repulsion表示节点之间的斥力大小。categories用于分类显示,每个类别包括名称和对应的索引。
4. 渲染echarts图表
```javascript
var chart = echarts.init(document.getElementById('main'));
chart.setOption(option);
```
最终效果如下图所示:
![人物关系力导向图](https://img-blog.csdnimg.cn/20210902161120193.png)
阅读全文