2013-10-13 2 views
1

Я пытаюсь установить начальную позицию моих узлов вручную, но загружая их из структуры JSON. Если я помещаю позицию в структуру «узлы», она работает, однако я пытаюсь добавить отдельную структуру под названием «позиции:», которая, как я думал, должна работать? Ниже приведен пример структуры.Как установить начальную позицию узлов в cytoscape.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»: макет: { имя: 'preset' }, – Brian

Смежные вопросы