Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript cytoscape是否支持单个节点的多个端口?_Javascript_Cytoscape.js - Fatal编程技术网

Javascript cytoscape是否支持单个节点的多个端口?

Javascript cytoscape是否支持单个节点的多个端口?,javascript,cytoscape.js,Javascript,Cytoscape.js,Cytoscape为单个源/目标端点提供了配置,但它能支持N个端点吗?(我在文档或谷歌中找不到任何来源,这意味着答案可能是否定的,但我想在决定采用其他解决方案之前确定一下) 说明: 是的,这是可能的! 为此,需要使用bezier边()。 这里有两个有用的选项:“控制点步长”和“控制点距离”(选择其中一个) 然后,只定义边,它们不会重叠 var cy=window.cy=cytoscape({ 容器:document.getElementById('cy'), 布局:{ 名称:“预设”, },

Cytoscape为单个源/目标端点提供了配置,但它能支持N个端点吗?(我在文档或谷歌中找不到任何来源,这意味着答案可能是否定的,但我想在决定采用其他解决方案之前确定一下)

说明:

是的,这是可能的! 为此,需要使用bezier边()。 这里有两个有用的选项:“控制点步长”和“控制点距离”(选择其中一个)

然后,只定义边,它们不会重叠

var cy=window.cy=cytoscape({
容器:document.getElementById('cy'),
布局:{
名称:“预设”,
},
风格:[
{
选择器:'节点',
css:{
“形状”:“矩形”,
“宽度”:“280”,
‘高度’:‘35’,
“边框样式”:“实心”,
“边框宽度”:“1”,
“背景色”:“白色”,
“边框颜色”:“黑色”,
“颜色”:“白色”
}
},
{
选择器:'边',
css:{
“宽度”:1,
“目标箭头颜色”:“黑色”,
“线条颜色”:“黑色”,
“曲线样式”:“bezier”,
“控制点距离”:50
}
},
],
元素:
[
{data:{'id':'node1'},类:'',位置:{x:25,y:120},
{data:{'id':'node2'},类:'',位置:{x:10,y:500},
{data:{'id':'node3'},类:'',位置:{x:200,y:350},
{“数据”:{“源”:“节点1”,“目标”:“节点2”},“组”:“边”,“类”:“},
{“数据”:{“源”:“节点2”,“目标”:“节点3”},“组”:“边”,“类”:“},
{“数据”:{“源”:“节点1”,“目标”:“节点2”},“组”:“边”,“类”:“},
{“数据”:{“源”:“节点1”,“目标”:“节点3”},“组”:“边”,“类”:“},
{“数据”:{“源”:“节点1”,“目标”:“节点2”},“组”:“边”,“类”:“},
{“数据”:{“源”:“节点3”,“目标”:“节点2”},“组”:“边”,“类”:“},
]
});
#cy{
位置:绝对位置;
左:0;
排名:0;
底部:0;
右:0;
}


感谢您抽出时间回答,但我看不到与我的问题之间的联系。我试图在一个节点中有两个源端口-不关心重叠的边,也不明白为什么边类型应该重要(无论哪种方式,我已经在使用未绑定的bezier曲线),我不认为有一个属性可以完全满足您的要求。但如果仔细观察示例并稍微移动节点,您将看到它有不同的端点(但会自动计算)。我说的是重叠边和贝塞尔边,因为如果不指定贝塞尔边,节点只有一个端点,所以它们重叠。。。所以它是有效的。但如果不真正了解您想要实现的目标,就很难回答。在我看来,“控制点步长”或“控制点距离”是关键(甚至可能是边缘距离,但从未尝试过)。如果你对此不满意,请告诉我你是否找到了更好的解决方案。这实际上是一个副作用,而不是一个解决方案。之所以这样做,是因为边是从节点的中心计算的。我需要的是对端口的控制-我需要控制N(端口数),我需要控制哪个边缘到哪个端口