Javascript 不允许2个节点之间的链接-定向图编辑器d3.js
我在我的研究项目中使用了“定向图编辑器”(Directed Graph Editor),我对其进行了更新,现在看起来是这样的。 我的问题是,我怎么能不允许在两个蓝色圆圈之间绘制链接(例如,我不想让d3在“星巴克”和“人类栖息地”之间绘制链接)。我正在考虑实现一些比较“拖动到自身”线上的2个节点的功能,就像在Directed Graph Editor中所做的那样,但没有想到解决方案 下面是代码片段,其中添加了一个新节点,并检查了“拖动到自身”条件:Javascript 不允许2个节点之间的链接-定向图编辑器d3.js,javascript,svg,d3.js,Javascript,Svg,D3.js,我在我的研究项目中使用了“定向图编辑器”(Directed Graph Editor),我对其进行了更新,现在看起来是这样的。 我的问题是,我怎么能不允许在两个蓝色圆圈之间绘制链接(例如,我不想让d3在“星巴克”和“人类栖息地”之间绘制链接)。我正在考虑实现一些比较“拖动到自身”线上的2个节点的功能,就像在Directed Graph Editor中所做的那样,但没有想到解决方案 下面是代码片段,其中添加了一个新节点,并检查了“拖动到自身”条件: enter code here // se
enter code here
// select node
mousedown_node = d;
if(mousedown_node === selected_node) selected_node = null;
else selected_node = mousedown_node;
selected_link = null;
enter code here
// reposition drag line
drag_line
.style('marker-end', 'url(#end-arrow)')
.classed('hidden', false)
.attr('d', 'M' + mousedown_node.x + ',' + mousedown_node.y + 'L' + mousedown_node.x + ',' + mousedown_node.y);
enter code here
restart();
})
.on('mouseup', function(d) {
if(!mousedown_node) return;
enter code here
// needed by FF
drag_line
.classed('hidden', true)
.style('marker-end', '');
enter code here
// check for drag-to-self
mouseup_node = d;
if(mouseup_node === mousedown_node) { resetMouseVars(); return; }
// unenlarge target node
d3.select(this).attr('transform', '');
请帮我解决这个问题。谢谢非常感谢您的帮助