Cytoscape.js 预设布局文档
Cytoscape.js Preset Layout Documentation
我有一个 cytoscape.js 图表可以呈现。我有兴趣利用预设布局来放置节点。 cytoscape.js 文档显示了以下预设布局:
var options = {
name: 'preset',
positions: undefined, // map of (node id) => (position obj); or function(node){ return somPos; }
zoom: undefined, // the zoom level to set (prob want fit = false if set)
pan: undefined, // the pan level to set (prob want fit = false if set)
fit: true, // whether to fit to viewport
padding: 30, // padding on fit
animate: false, // whether to transition the node positions
animationDuration: 500, // duration of animation in ms if enabled
animationEasing: undefined, // easing of animation if enabled
ready: undefined, // callback on layoutready
stop: undefined // callback on layoutstop
};
谁能帮助我理解或举例说明文档中所说的以下内容的含义
// map of (node id) => (position obj); or function(node){ return somPos; }
我将所有节点存储在 MySQL 数据库 table 中,包含以下列
id, origin, destination, x position, y position
cytoscape.js 位置是否采用如下所示的字典:
{'id': 1, {'x':10, 'y':45}}, {'id': 2, {'x':21, 'y':32}}
等?
这意味着当positions
设置为undefined
时,您需要创建一个函数来获取每个节点的位置。
例如:
cy.nodes().forEach(function(n){
var x = n.data("x");
var y = n.data("y");
});
这个应该return你的节点位置。
编辑
您可以在创建节点时设置节点位置。例如:
var elements;
elements: [{"data":{"id":"yourID","name":"name"},"position"{"x":"0.0","y":"0.0"}}];
有关更多信息,请参阅 Cytoscape js 站点上的 this 演示。这里他们手动设置位置。
我有一个 cytoscape.js 图表可以呈现。我有兴趣利用预设布局来放置节点。 cytoscape.js 文档显示了以下预设布局:
var options = {
name: 'preset',
positions: undefined, // map of (node id) => (position obj); or function(node){ return somPos; }
zoom: undefined, // the zoom level to set (prob want fit = false if set)
pan: undefined, // the pan level to set (prob want fit = false if set)
fit: true, // whether to fit to viewport
padding: 30, // padding on fit
animate: false, // whether to transition the node positions
animationDuration: 500, // duration of animation in ms if enabled
animationEasing: undefined, // easing of animation if enabled
ready: undefined, // callback on layoutready
stop: undefined // callback on layoutstop
};
谁能帮助我理解或举例说明文档中所说的以下内容的含义
// map of (node id) => (position obj); or function(node){ return somPos; }
我将所有节点存储在 MySQL 数据库 table 中,包含以下列
id, origin, destination, x position, y position
cytoscape.js 位置是否采用如下所示的字典:
{'id': 1, {'x':10, 'y':45}}, {'id': 2, {'x':21, 'y':32}}
等?
这意味着当positions
设置为undefined
时,您需要创建一个函数来获取每个节点的位置。
例如:
cy.nodes().forEach(function(n){
var x = n.data("x");
var y = n.data("y");
});
这个应该return你的节点位置。
编辑
您可以在创建节点时设置节点位置。例如:
var elements;
elements: [{"data":{"id":"yourID","name":"name"},"position"{"x":"0.0","y":"0.0"}}];
有关更多信息,请参阅 Cytoscape js 站点上的 this 演示。这里他们手动设置位置。