我需要计算图上每个节点的度数、接近性和中介中心性。我目前在cy.ready()
事件发生后的每个节点上使用 Cytoscape.js 中内置的功能。但是,由于图表非常大(250 多个节点,650 多个连接),因此计算时间太长。任何人都可以提出更有效的方法吗?
var calculateSNA = function() {
// Don't run if already set...
if(data.sna) return false
console.log('Running SNA')
_.map(nodes, function(node) {
var target = cy.nodes('#' + node.data.id)
node.data.sna = {
degreeCentrality: cy.$().dc({ root: target }).degree,
closenessCentrality: cy.$().cc({ root: target }),
betweennessCentrality: cy.$().bc().betweenness(target)
}
return node
})
// Add SNA data to local storage
Data.add({
sna: true
})
Node.set(nodes)
console.log('SNA complete')
}
cy.ready(function(event) {
console.log('cy.ready()')
calculateSNA()
})