(g6)节点同方向多条边显示不全及重叠问题

(g6)节点同方向多条边显示不全及重叠问题

修改前:
在这里插入图片描述


解决显示不全问题后:
在这里插入图片描述

原因:之前数据中,边id与节点id有一样的,导致不显示。

代码:

arrData.dstConcept.forEach((ditem) => {
	let ranNum = Math.random();//随机数
	let obj = {};
	obj = { 
		id: ranNum,//随机数做id
		label: item.chinese, 
		source: sitem.conceptId,
		target: ditem.desConceptId, 
	};
	this.visualData.edges.push(obj);
});


解决重叠问题后:

在这里插入图片描述

原因:边类型采用quadratic类型最多也只能支持两条边,且弯曲度都一样导致重叠
  • 解决方案:使用 util 方法 processParallelEdges

代码:

G6.Util.processParallelEdges(this.visualData.edges);//放在渲染之前,防止影响其他边的设置(例如弯曲箭头)
this.graph.data(this.visualData);
this.graph.render();

解决参考:
官方:https://g6.antv.antgroup.com/manual/middle/elements/methods/multi-line
其余:https://blog.csdn.net/airconan/article/details/121745277