Echarts关系图实现两个节点连接同向的多条边(详细)

本文介绍如何在Echarts中处理同方向的多条边,通过修改源码和调整弧度来避免边的覆盖,同时分享了美化图表和添加交互信息的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、改源码

在Echarts官网上有很多关系图示例(传送门)
但是这些图两点之间最多两条边,并且方向相反。但是在社交网络分析作图时常常遇到两个人物(节点)之间存在多种关系且指向相同(方向相同的多边)。写代码过程中有意加多边然而出现覆盖现象,就算手动控制弧度也不会显示同方向边,而官方文档中并未提及相关代码。怀疑是源文件中有严格控制条件,经查阅echart源文件echarts.min.js,果然有剔除重复边的代码,如fig1红框中代码。将此限制条件注释即可实现需求。
在这里插入图片描述
Fig 1. 文件echarts.min.js修改处示意图

2、改弧度

虽然修改了源码,保证不会删除重复边,但还要注意重复边的覆盖,因此要修改边弧度,可以写函数控制弧度(curveness)根据边的数量增加。对此有相关博客可参阅,实例中数据较少,就直接在lineStyle中定义了,如fig2:
在这里插入图片描述
Fig 2. 关系边数据定义示意

3、美化

相关代码很多,大概做出来如fig3
在这里插入图片描述
Fig 3. 初步示例

4、交互时信息提示

Echarts官网示例上很多实用好看的交互效果,下面实现的是鼠标悬停显示边或节点的信息。
在这里插入图片描述
Fig 4. 添加鼠标交互代码

Fig 5. 有交互的同向多边关系图

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值