0
degree、グラフ上のすべてのノードの近接性と中間度を計算する必要があります。私は現在、cy.ready()
イベントの後、各ノードでCytoscape.jsに組み込まれている関数を使用しています。しかし、グラフがかなり大きい(250以上のノード、650以上の接続)ので、計算に時間がかかりすぎます。誰かがより効率的な方法を提案できますか?Cytoscape.jsを使用してすべてのノードで中心性機能を実行
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()
})
正規化偏位度の計算方法 let ccn = cy.elements()。dcn({'options.directed':true}); $ scope.ndd = cy.nodes()のforEach。(N => { n.data({ CCN:ccn.degree(N) }); }) –