Je dois calculer degree, la proximité et la centralité entre chaque nœud sur un graphique. J'utilise actuellement les fonctions intégrées dans Cytoscape.js sur chaque noeud après l'événement cy.ready()
. Cependant, comme les graphiques sont assez volumineux (250+ nœuds, 650+ connexions), cela prend trop de temps à calculer. Quelqu'un peut-il suggérer une méthode plus efficace?Effectuer des fonctions de centralité sur tous les nœuds à l'aide de 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()
})
Comment calculer la centralité normalisée normalisée Veuillez guider laissez ccn = cy.elements(). Dcn ({'options.directed': true}); $ scope.ndd = cy.nodes() forEach. (N => { n.data ({ ccn: ccn.degree (n) });} ) –