我使用vis.js进行网络可视化。 我的想法是开发一个像Google Maps Zoom这样的解决方案,它可以在未缩放时聚集边缘和节点。
我希望将节点与在相同的两个节点之间聚集多个边缘分开。 像群集节点一样,当群集边缘被缩放或单击时,我想要显示所有不同的边缘以及更多信息。
我还没有在vis.js文档中找到有关群集,问题和问题的答案。这个功能可用吗?
答案 0 :(得分:0)
据我所知,术语"聚类"仅适用于vis.js中的节点。词汇。但是,你可以做的是隐藏边缘。
您必须设置一个on click处理程序,您可以抓住所选边缘,获取其from
和to
个节点(如果有,则需要决定该怎么做)但是,不止一个选定的边缘,找到连接它们的边缘和hide除了一个之外的所有边缘。
network.on('click',function(eventParams){
var edges = eventParams.edges;
if(edges.length == 0)
return;
var edge = edges[0],
fromID = edge.from,
toID = edge.to;
// get the nodes by ids, find all edges connecting them, hide all but the selected one
});
要进一步推进切换,你必须检查隐藏的任何连接边是否显示全部,如果隐藏了至少一个,或者隐藏除了一个以外的所有连接边。