我正在使用Zoomchart库的NetChart类来形成netchart。但是我面临链接问题。而且找不到任何解决方案。
下面是我要实现的情况:-
假设我们有两个节点 A 和 B 。这里 A 是卖方,而 B 是买方。
Seller A -> B
Buyer B -> A
我正在动态加载数据。而且,当我们最初加载 A 时,就会得到 B 作为 A 的买方。这就形成了一个像 A-> B 的链接。但是,当 B 加载其相关数据时,就会得到 A ,因为它正在从中购买数据(A)。 这形成了两个链接节点:-
{
"from": "A",
"to": "B"
}
{
"from": "B",
"to": "A"
}
它正在创建一个像这样的图表:-
但是它应该是一个链接。下面是代码:-
this.chartObject = new NetChart({
container: document.getElementById('sellerBuyersLinkingChart'),
area: { height: null },
navigation:{
focusNodeExpansionRadius: 1,
initialNodes: ["n-1"],
mode:"focusnodes"
},
data: {
dataFunction: (nodeList, success, error) => {
$.ajax({
url:url+'?nodes='+nodeList.toString(),
success: (response, textStatus, jqXHR) => {
success(response, textStatus, jqXHR);
},
error: error
});
},
requestMaxUnits: 1
},
style: {
nodeStyleFunction: (node) => {
},
linkStyleFunction: (link) => {
let type = link.data['extra']['type'];
if(type == 'sellers') {
link['fromDecoration'] = "arrow";
link['fillColor'] = "rgba(47,195,47,0.8)";
link['direction'] = "L";
} else {
link['toDecoration'] = "arrow";
link['fillColor'] = "rgba(236,46,46,0.8)";
link['direction'] = "R";
}
},
nodeFocused: {
fillColor: 'rgba(232,189,43,1)'
}
}
});
期望:我可以通过任何方式发送带有URL的链接ID。这样,我可以从链接中删除同一节点。
此图表应创建如下节点:-
答案 0 :(得分:0)
1)如果链接不是唯一的,则可以使用multiLinkProcessor组合多个链接
2)如果在链接中添加唯一ID,则可以单独更新,删除或操作它们(实际上,建议始终为链接和节点添加ID,这样可以防止重复)。没有ID也会在控制台日志中提示通知。