2013-10-13 5 views
1

내 노드의 시작 위치를 수동으로 설정하려고하지만 JSON 구조에서로드하려고합니다. 내가 '노드'구조 내에서 위치를 지정하면 작동하지만, 나는 이라는 별도의 구조를 '위치 :'라고 추가하려고 노력하고 있습니다. 구조의 예는 아래를 참조하십시오.cyoscosc.js에서 cy.load를 사용하여 노드의 시작 위치를 어떻게 설정할 수 있습니까?

var graphdata = { nodes: [ { data: { id: 'j', name: 'Jerry', width: 20, height: 20 ,  shape: 'rectangle' }}, 
         { data: { id: 't', name: 'Tom', width: 20 , height: 20, shape: 'circle' } }, 
         { data: { id: 'm', name: 'Mary', width: 20 , height: 20, shape: 'circle' } } , 
         { data: { id: 'b', name: 'Bob', width: 20 , height: 20, shape: 'circle' } } ], 

       edges: [ 
         { data: { source: 'j', target: 't', faveColor: '#6FB1FC', strength: 90 } }, 
         { data: { source: 't', target: 'm', faveColor: '#6FB1FC', strength: 90 } }, 
         { data: { source: 'm', target: 'b', faveColor: '#6FB1FC', strength: 90 } } ], 

      positions: [ { j: { x:100,y:100 } }, 
          { t: { x:100,y:200 } } ] 

는 나중에 내가 cy.load (graphdata)로 전화하십시오.

노드와 가장자리가 잘 표시되지만 위치에 아무런 영향이없는 것 같습니다.

미리 설정된 레이아웃을로드했습니다.

감사합니다.

답변

4

이 Cytoscape Web 또는 Cytoscape.js입니까? Cytoscape.js에서

,
+0

해당 Cytoscape.js. 각 요소의 위치를 ​​지정할 수는 있지만 위의 예에서 원하는대로 할 수는 없습니다. – user1768233

+2

각 요소의 위치를 ​​지정하거나 미리 설정된 레이아웃을 사용해야합니다. – maxkfranz

+1

레이아웃 이름을 '프리셋'으로 설정해야했습니다. 레이아웃 : { 이름 : 'preset' }, – Brian