0
터미널에서 nodejs를 사용하는 cytoscapejs를 사용하여 간단한 javascript를 작성합니다. 내 목표는 노드와 가장자리 목록 및 레이아웃 주어진 모든 노드의 위치를 얻는 것입니다. 아래 코드를 실행합니다 :Cytoscapejs layput 모든 노드에 대해 0을 부여하십시오.
var cytoscape = require('cytoscape');
var cy = cytoscape({
elements: [ // list of graph elements to start with
{ // node a
data: { id: 'a' }
},
{ // node b
data: { id: 'b' }
},
{ // node b
data: { id: 'c' }
},
{ // node b
data: { id: 'd' }
},
{ // node b
data: { id: 'e' }
},
{ // node b
data: { id: 'f' }
},
{ // node b
data: { id: 'g' }
},
{ // node b
data: { id: 'h' }
},
{ // edge ab
data: { id: 'ab', source: 'a', target: 'b' }
},
{ // edge ab
data: { id: 'bc', source: 'b', target: 'c' }
},
{ // edge ab
data: { id: 'cd', source: 'c', target: 'd' }
},
{ // edge ab
data: { id: 'de', source: 'd', target: 'e' }
},
{ // edge ab
data: { id: 'ef', source: 'e', target: 'f' }
},
{ // edge ab
data: { id: 'fg', source: 'f', target: 'g' }
},
{ // edge ab
data: { id: 'gh', source: 'g', target: 'h' }
}
],
style: [ // the stylesheet for the graph
{
selector: 'node',
style: {
'background-color': '#666',
'label': 'data(id)'
}
},
{
selector: 'edge',
style: {
'width': 3,
'line-color': '#ccc',
'target-arrow-color': '#ccc',
'target-arrow-shape': 'triangle'
}
}
],
layout: {name: "cose",randomize: true}
});
cy.nodes().forEach(function(s){
console.log(s.position().x)
console.log(s.position().y)
});
위치 결과를 볼 때 모든 노드가 0이됩니다. 다른 유형의 레이아웃을 사용하는 경우 0 이외의 결과가 나타납니다. 레이아웃을 위해 cose를 올바르게 사용하는 방법은 무엇입니까? 고맙습니다.
이전에 Cytoscape이 비동기로 실행되었음을 알지 못했습니다. 이제 해결했습니다. – Bharata