我想手动设置我的节点的开始位置,但从JSON结构加载它们。如果我把这个位置放在“节点”结构中,它可以工作,但是我试图 添加一个名为'positions:'的独立结构,我认为它应该起作用?请参阅下面的结构示例。如何使用cy.load设置cytoscape.js中节点的起始位置?
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)。
节点和边缘显示正常,但位置似乎没有受到任何影响。
我也加载了预设布局。
谢谢。
它的Cytoscape.js。我可以指定每个元素的工作位置,但我无法按照上述示例中的操作。 – user1768233
您必须指定每个元素的位置或使用预设布局。 – maxkfranz
我必须设置布局属性以使属性名称为'预设': 布局:{ name:'preset' }, – Brian